求教,怎么用selectSingleNode获得XML的节点啊???
环境:win7 x64 vs2008
- C/C++ code
HRESULT hr; XMLDocPtr pDoc; hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30)); if (FAILED(hr)) { AfxMessageBox("无法创—OMDocument对象,请检查是否安装了MS XML Parser 运行库!"); return; } CString xmlfilePath = "D:\\strings.xml"; pDoc->load((LPCTSTR)xmlfilePath); if(pDoc == NULL) { AfxMessageBox("pDoc is null !!!"); } XMLNodePtr pNode = pDoc->selectSingleNode((LPCTSTR)"???????");//这里问号里该写什么?? if (pNode) { AfxMessageBox("start"); CString CBIname = ""; GetXMLNodeValue(pNode, "@name", CBIname);//获取CString AfxMessageBox(CBIname); } else { AfxMessageBox("pNode is null!!!"); }- XML code
<?xml version="1.0" encoding="utf-8"?><resources> <string name="hello">hello</string> <string name="world">world</string></resources>
问号里该怎么写,我怎么得到的都是pNode = null呢?
[解决办法]
你填hello看看,
resouces也看看
做下实验
不过我个人觉得你貌似用错了。
看看这个BLOG
XMLDocPtr用法
着重看解析XML那段
[解决办法]
兄弟,不要用微软的XML组件了,太TM坑人了,一堆的坑,改用其它的吧。TINYXML?