一个轻量级的XML解析器,对大文件有效吗?

Ale*_*ter 8 c++ xml parsing sax saxparser

我需要解析潜在的巨大XML文件,所以我猜这会排除DOM解析器.

有没有适合C++的轻量级SAX解析器,与足迹上的TinyXML相比?XML的结构非常简单,不需要像名称空间和DTD这样的高级内容.只是元素,属性和cdata.

我知道Xerces,但它超过50mb的超大尺寸让我颤抖.

谢谢!

Ton*_*ler 7

如果您使用的是C,那么你可以使用的libxml侏儒项目.您可以选择DOM和SAX接口到您的文档,以及多年来开发的许多其他功能.如果你真的想要C++,那么你可以使用libxml ++,这是一个围绕LibXML的C++ OO包装器.

该库已经一次又一次地被证明,性能很高,几乎可以在任何可以找到的平台上编译.

  • 如果您真的担心大小,请尝试在http://expat.sourceforge.net/上使用Expat.我的Linux机器上的共享库大小为133K.我猜你的代码中静态编译的.a会那么多. (4认同)

Mar*_*ork 6

我喜欢ExPat
http://expat.sourceforge.net/

它是基于C的,但有几个C++包装器可以提供帮助.