c ++无法从XML获取所有子节点

时间:2018-04-13 06:33:58

标签: c++ xml collections msxml

考虑以下代码

CXmlDomNodeList oNodeList = m_oInputXmlData.pXmlDomRecvd->GetElementsByTagName("check_info");

for (CXmlDomNode oCheckNode = oNodeList.First(); oCheckNode; oCheckNode = oNodeList.Next())
{
    i64CheckId = _atoi64(oCheckNode.GetChildNodeText("check_id"));


 // do some stuff
 }

当我尝试读取XML集合中的所有元素时,我只读取标签check_id中的第一个数字,并跳过其余部分..我现在试图处理这个问题2天,我需要你救命。  这是XML样本

<?xml version="1.0" encoding="windows-1251"?>
<iserver_request>
 <command>1603</command>
 <session>175395b931bf265ef9b6632fea48b060</session>
 <check_info>
  <check_id>166123</check_id>
  <check_id>16123</check_id>
  <check_id>1266</check_id>
  <check_id>1636</check_id>
  <check_id>1646</check_id>
  <check_id>1656</check_id>
 </check_info>
</iserver_request>

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

好的,所以我修复了这个我的自我,我发布了答案以防有人遇到同样的问题

CXmlDomNodeList oNodeList = m_oInputXmlData.pXmlDomRecvd->GetElementsByTagName("check_id");

for (CXmlDomNode oCheckNode = oNodeList.First(); oCheckNode; oCheckNode = oNodeList.Next())
{
    i64CheckId = _atoi64(oCheckNode.GetText());

 //do stuff

 }

这就是我如何获得标签check_id中的所有元素。