我在 Java 中使用过相当多的 StAX API,发现它是处理 XML 文件的一种非常干净的方法。是否有任何等效的库可以用来在 C 中执行类似的处理?

有帮助吗?

解决方案

库文件 是一个被大量使用且有文档记录的 C XML 库,它提供了 SAX API。 外籍人士 是另一个,但根据我的经验,没有很好的记录。

其他提示

我非常广泛地使用 Expat - 我喜欢它的简单性和占用空间小。

外籍人士做StAX


 #include "expat.h"`
VRM_parser = XML_ParserCreate("ISO-8859-1");
XML_SetElementHandler(VRM_parser, CbStartTagHandler, CbEndTagHandler);
XML_Parse(VRM_parser, text, strlen(text), 0); // start of XML
XML_Parse(VRM_parser, text, strlen(text), 0); // more XML
XML_Parse(VRM_parser, text, strlen(text), 0); // more XML
XML_Parse(VRM_parser, text, strlen(text), 0); // more XML
XML_Parse(VRM_parser, "", 0, 1); // to finish parsing

啊?不,Expat 不执行 Stax,代码示例证实了这一点。

也许你的意思是它的功能有点像 SAX?

如果你不反对 C++ 那么 尝试一下骆驼

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top