2012-07-18 14 views
-1

解析XML我想在Visual C++代码的XML字符串的节点值在Visual C++

我用VC++代码是这样的

URL = _T(“HTTP:// WWW。 xyz.com/val“); CString result = g_pCAddonHandler-> SendWebRequest(url,L“GET”,L“”,false); //我发送一个请求到web网址,它返回一个XML字符串和xml格式低于

响应

结果名称=“响应” numFound =“1”开始=“0”

DOC

STR名称= “ID”> 497888/STR

STR名称= “姓氏” 罗斯/ STR

STR名称= “名称” 冬青/ STR

/DOC

/结果

/响应

注: - 我没有用过< &>因为计算器不允许这些。

请帮助获取所有节点。 我在VC++中比较新。

问候 阿尼尔

回答

0

试试这个

MSXML2::IXMLDOMDocumentPtr pXMLDom; 
IXMLDOMNodeListPtr itemNodes = NULL; 
CComBSTR bstrResp(szResponse); 
::CoCreateInstance(MSXML2::CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER, 
     MSXML2::IID_IXMLDOMDocument, (void**)&pXMLDom); 
BOOL bRet = pXMLDom->loadXML((BSTR) bstrResp); 


if(bRet) 
{ 
itemNodes = pXMLDom->selectNodes(_T("/response/result/doc/str[@name='id']")); 
CString szId = itemNodes->item[0]->text 
.... 

} 

查询详情这个

http://msdn.microsoft.com/en-us/library/windows/desktop/ms756987%28v=vs.85%29.aspx

+0

您能否详细说明一下。给我一个代码,我可以简单地复制和粘贴... – 2012-08-25 08:53:38

+0

我需要包括哪些库.. – 2012-08-25 08:57:36

2

您可以通过令牌化的字符串,让所有的节点编写自己的XML解析器或使用一些现有的解析器像TinyXML,阅读this教程。

+0

能否请你举一个例子,如何通过令牌化的字符串,让所有的节点来解析XML。 – 2012-08-25 08:55:00