使用libxml2读取XML

时间:2012-05-24 16:07:40

标签: c xml libxml2

我正在使用libxml2.so来解析LINUX平台上的C语言中的XML文件。我的XML格式如下所述。我可以在文件中包含任意数量的帐户。在有人在论坛上建议我后,我第一次使用libxml。我能够解析我只有一个帐户的文件。如果我有多个帐户,我不知道如何实施。任何人都在C之前实现过这样的事情,Linux上的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>

1 个答案:

答案 0 :(得分:1)

每个XML-Definition,如果你有更多&lt; ACCOUNT&gt; s你需要一个周围的标签f.e. &LT; ACCOUNTS&GT;围绕所有&lt; ACCOUNT&GT;标签都有效

如果你有,你可以“进入”孩子,你可以在(&)下一个节点上使用(。)

EDITH:我想你使用DOM-modell。但如果你有很多(!)&lt; ACCOUNT&gt; s,出于记忆原因你应该转向SAX。 DOM在内存中为(O)项构建一个完整的(M)应用程序。

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

EDITH 2:如果你必须找到一个特殊的值,你应该考虑将键值(account_no?)放入像