【问题标题】:c++ Can`t get all the child nodes from XMLc ++无法从XML中获取所有子节点
【发布时间】:2018-04-13 15:01:56
【问题描述】:

考虑下面的代码

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>

我们将非常感谢您的帮助。

【问题讨论】:

  • 您使用什么框架/库来解析和处理 XML?请编辑您的标签以添加它。
  • 我正在使用 MSXML 库

标签: c++ xml collections msxml


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 2013-04-15
    • 1970-01-01
    相关资源
    最近更新 更多