程序发到你邮箱了。里面有详细注释
核心代码如下
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle = _T("选择XML文件");
fileDlg.m_ofn.lpstrFilter = _T("Text Files(*.xml)\0*.xml\0All Files(*.*)\0*.*\0\0");
if(IDOK == fileDlg.DoModal())
{
CFile inFile;
inFile.Open(fileDlg.GetPathName(), CFile::modeRead | CFile::typeBinary, NULL);
UINT nFileLen = inFile.GetLength();
char* pBuf = new char[nFileLen + 1];
pBuf[nFileLen] = 0;
inFile.Read(pBuf, nFileLen);
CString strFile = pBuf;
int nIndex;
UpdateData();
m_FilePath = fileDlg.GetPathName();
nIndex = strFile.Find(_T("childnode1"), 0);
m_Edit11 = strFile.Mid(nIndex + 20, 7);
m_Edit21 = strFile.Mid(nIndex + 38, 7);
nIndex = strFile.Find(_T("childnode2"), 0);
m_Edit12 = strFile.Mid(nIndex + 20, 7);
m_Edit22 = strFile.Mid(nIndex + 38, 7);
nIndex = strFile.Find(_T("childnode3"), 0);
m_Edit13 = strFile.Mid(nIndex + 20, 7);
m_Edit23 = strFile.Mid(nIndex + 38, 7);
UpdateData(FALSE);
delete pBuf;
inFile.Close();
}
已发送
不过,我的只有两层,你看着办吧
还有上面一楼的那个,你根本就是文件操作(fileOpen)xml有自己的接口
你要用文件操作的话,如果是下面的格式:
-
-
-
-
这种格式你就根本不能读取指定节点,你会12个数据都读出,而不是6个
这样叫核心~~~
你的代码根本不能提前xml文件~~
回答了就耐心的给别人写个完整点的吧。。