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

c++ Can`t get all the child nodes from XML

本文关键字:子节点 获取 XML c++      更新时间:2023-10-16

请考虑以下代码

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>

您的帮助将不胜感激。

好的,

所以我自己解决了这个问题,如果有人有同样的问题,我正在发布答案

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中的所有元素。