下面是一段我解析xml的代码,希望查出xml中某个名字的全部节点,但是每次的结果就是没有查到,请帮我看看,哪里出了问题: HRESULT hr;
IXMLDOMDocument* pXMLDoc;
IXMLDOMNode* pXDN;
IXMLDOMNodeList * pXDNList; hr=CoInitializeEx(NULL,COINIT_MULTITHREADED);
hr=CoCreateInstance(CLSID_DOMDocument,NULL,CLSCTX_INPROC_SERVER,
IID_IXMLDOMDocument,(void**) &pXMLDoc);
VARIANT_BOOL bSuccess = false;
unsigned short *xmlStr = new unsigned short[409600];
xmlStr = L"<?xml version=\"1.0\" encoding=\"UTF-16\"?><root><file><time>2003-10-13</time><time>2004-10-13</time><time>2005-10-13</time><content>内容</content><title>标题</title></file></root>";
pXMLDoc->loadXML(xmlStr,&bSuccess);
LPWCH tempxml; pXMLDoc->selectNodes(L"time",(IXMLDOMNodeList **)&pXDNList);
long nodeCnt;
char *ch = new char[20];
IXMLDOMNode * tmpNode;
pXDNList->get_length(&nodeCnt);
for(int i=0;i<nodeCnt;i++)
{
pXDNList->get_item(i,(IXMLDOMNode **)&tmpNode);
tmpNode->get_text(&tempxml);
MessageBox(tempxml,L"",MB_OK);
} CoUninitialize();每次执行,nodecnt都是0,哪位可以帮我解决以下
IXMLDOMDocument* pXMLDoc;
IXMLDOMNode* pXDN;
IXMLDOMNodeList * pXDNList; hr=CoInitializeEx(NULL,COINIT_MULTITHREADED);
hr=CoCreateInstance(CLSID_DOMDocument,NULL,CLSCTX_INPROC_SERVER,
IID_IXMLDOMDocument,(void**) &pXMLDoc);
VARIANT_BOOL bSuccess = false;
unsigned short *xmlStr = new unsigned short[409600];
xmlStr = L"<?xml version=\"1.0\" encoding=\"UTF-16\"?><root><file><time>2003-10-13</time><time>2004-10-13</time><time>2005-10-13</time><content>内容</content><title>标题</title></file></root>";
pXMLDoc->loadXML(xmlStr,&bSuccess);
LPWCH tempxml; pXMLDoc->selectNodes(L"time",(IXMLDOMNodeList **)&pXDNList);
long nodeCnt;
char *ch = new char[20];
IXMLDOMNode * tmpNode;
pXDNList->get_length(&nodeCnt);
for(int i=0;i<nodeCnt;i++)
{
pXDNList->get_item(i,(IXMLDOMNode **)&tmpNode);
tmpNode->get_text(&tempxml);
MessageBox(tempxml,L"",MB_OK);
} CoUninitialize();每次执行,nodecnt都是0,哪位可以帮我解决以下
解决方案 »
- detours如何插入程序去拦截socket 函数,为什么我看到的例子全是鼠标和键盘,有拦截函数的吗
- 我把窗口标题栏去掉了,怎么在实现任务栏上图标点下最小化,再点下还原呢
- sokcs5代理问题。。
- vc 为什么添加事件处理程序的时候消息类型一栏没有选项?
- 我想用MFC实现FTP的登陆,下载,上传
- 如何枚举出一个DLL里的函数名字及其入口地址,包括非输出函数?
- 关于MSN的界面的疑问?
- unresolved external symbol _SQLConfigDataSource@16什么意思呀?
- 谁有VC++编的DVD播放器源码
- asp代码可以用%e9看到该怎么办?急急!
- 请教高手。如何解决,MFC下编程资源文件(.rc)每编译一次,文件大小就增大一倍的问题?
- dll的问题!
..LoacXml()pXDN = pXMLDoc->GetdocumentElement().Detach();
pXDN = pXDN->selectSingleNode( _T("file")).Detach();long nodeCnt;nodeCnt = pXDN->GetchildNodes()->Getlength();
pXDNList = pXDN->selectNodes( _T("time")).Detach();
nodeCnt = pXDNList->GetLength(); for(...)
应改为形如:
pXMLDoc->selectNodes(L"//root/file/*",(IXMLDOMNodeList **)&pXDNList);
另外你对xmlStr赋值也有问题,可改为
wchar_t xmlStr[] = L"<?xml version=\"1.0\" encoding=\"UTF-16\"?><root><file><time>2003-10-13</time><time>2004-10-13</time><time>2005-10-13</time><content>内容</content><title>标题</title></file></root>";