gpt4 book ai didi

c - 使用 libxml2 读取 XML

转载 作者:行者123 更新时间:2023-11-30 15:57:03 24 4
gpt4 key购买 nike

我正在使用 libxml2.so 在 LINUX 平台上用 C 语言解析 XML 文件。我的 XML 格式如下所述。我可以在文件中拥有任意数量的帐户。在有人在论坛上建议我之后,我第一次使用 libxml。我能够解析我只有一个帐户的文件。我不明白如果我有多个帐户,我该如何实现。以前有人在 Linux 上用 C、libxml 实现过这样的东西。

<ACCOUNT>
<ACCOUNT_NO> 123 </ACCOUNT_NO>
<NAME> XYZ </XYZ>
<STATE> GA </STATE>
</ACCOUNT>

<ACCOUNT>
<ACCOUNT_NO> 223 </ACCOUNT_NO>
<NAME> ABC </XYZ>
<STATE> FL </STATE>
</ACCOUNT>

最佳答案

根据 XML 定义,如果您有更多 ,则需要一个周围标签,例如 围绕所有 标签。

如果你有这个,你可以“进入”子节点,并且可以在 ->下一个节点上使用 while() 。

EDITH:我想你使用 DOM 模型。但如果您有很多 (!) < ACCOUNT>,出于内存原因,您应该切换到 SAX。 DOM 构建了 (D) 文档到内存中 (O) 对象的完整 (M) 映射。

在 SAX 中,您为每个起始标记、结束标记和数据构建一个状态机,该状态机在文件/内存读取完成时触发。

EDITH 2:如果您必须找到一个特殊值,您应该考虑将键值(account_no?)放入诸如 < ACCOUNT no="123"> < NAME>< XYZ> < STATE>FL< 之类的属性中/状态>

关于c - 使用 libxml2 读取 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10741221/

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