繁体   English   中英

使用libxml2读取XML

[英]Reading an XML using libxml2

我正在使用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定义,如果您有更多<ACCOUNT>,则在所有<ACCOUNT>标签周围都需要一个环绕的标签fe <ACCOUNTS>。

如果有的话,可以“进入”孩子,并且可以在-> next节点上使用while()。

伊迪丝:我想您使用DOM-modell。 但是,如果您有许多(!)<ACCOUNT>,则出于内存原因,应该切换到SAX。 DOM为内存中的(O)对象建立(D)记录的完整(M)映射。

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

编辑2:如果必须查找特殊值,则应考虑将键值(account_no?)放入诸如<ACCOUNT no =“ 123”> <名称> <XYZ> <STATE> FL </ STATE>的属性中</ ACCOUNT>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM