gpt4 book ai didi

c++ - 如何使用 pugixml 提取子数据?

转载 作者:行者123 更新时间:2023-11-30 04:23:08 30 4
gpt4 key购买 nike

我正在尝试使用 pugixml 从大型 XML 文件中提取数据。我只对节点 BAR 和 Nm 中的值的值感兴趣:

    <Document xmlns="xxxxxx" xmlns:xsi="vvvvvvv">
<Outer>
<HDR>
<MsgId>FOOBAR222222</MsgId>
<ID>
<AAAAA>FOOBAR222222</AAAAA>
</ID>
</HDR>
<ENTRY>
<Status>existing</Status>
<ELEM>
<TM>2012-11-19T13:00:00</TM>
</ELEM>
<FOO>
<BAR>xxxxx</BAR>
<NM>
<Nm>yyyyyyy</Nm>
</NM>
</FOO>
</ENTRY>

据我所见,可以遍历根文档,但是,我在访问父节点和子节点时有点迷路:

        void walk(xml_node parent)
{
for(xml_node child = parent.first_child(); child; child = child.next_sibling())
{
// ... Would like to output: "FOO: xxxx / NM: yyyyyyyy"
}
}

最佳答案

您可以为 first_child() 和其他成员函数提供参数:

auto Outer = document.first_child("OUTER");
auto Entry = Outer.first_child("ENTRY");
auto Foo = Entry.first_child("FOO");

等等

当最终到达目的地时,使用.value()获取节点值。

PugiXML 还具有 XPath 支持,但在那种情况下这可能有点矫枉过正。

关于c++ - 如何使用 pugixml 提取子数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13510271/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com