这就是我需要做的:我需要读取XML格式的文档并从中提取元素及其值,例如在以下代码中:
<user name="Mark">
<param name="Age" value="21"/>
<param name="Country" value="NL"/>
</user>
我需要提取:name = Mark,Age = 21和Country = NL。
直到今天,我一直在手动进行这种解析,这很痛苦。
现在我不关心文件是“正确的XML”还是全部,我不关心DTD或其他标准的XML要求。 我只需要阅读并解析这些值。
任何人都知道(lib eXpat除外)一个lib来执行此操作或代码执行此操作? 谢谢!
尔杰斯
编辑:
是的,我忘了提到这个平台:Windows和Linux。在普通的C中,而不是C ++
答案 0 :(得分:7)
答案 1 :(得分:4)
Expat解析器是我遇到过的最好的 - 我在我的C ++代码中使用它而不是各种C ++解析器 - 但它是用C语言编写的。非常易于使用并嵌入到您的应用程序中。所以我不明白为什么在你的问题中你说:
(lib eXpat除外)
你有什么反对意见吗?
答案 2 :(得分:4)
Mini-XML怎么样?它很轻巧,适用于gcc,与ANSI-C兼容......
http://www.minixml.org/index.php
根据文档,搜索特定节点将非常简单:
/* Find the first "a" element */
node = mxmlFindElement(tree, tree, "a",
NULL, NULL,
MXML_DESCEND);
获得节点后,您可以根据自己的要求对其进行操作。
答案 3 :(得分:1)
如果C ++没问题,那么你可以试试TinyXML。我已经使用它几年了,效果很好。
答案 4 :(得分:0)
Mini-XML看起来很有希望