这个问题在99年 06年都遇到过,99年做的软件是vb vc c++ builder开发的混合体,所以使用微软msxml解析器成了唯一选择。后来使用jinti开发的txml。06年 天清汉马的集中监控需要加载30多M xml,msxml加载不过3秒,如果用java做30秒都不止,没有办法必须用msxml。
1 Xerces
参考网站:
Xerces-C++ 是一个非常健壮的XML解析器,它提供了验证,以及SAX和DOM API。XML验证在文档类型定义(Document Type Definition,DTD)方面有很好的支持,并且在2001年12月增加了支持W3C XMLSchema 的基本完整的开放标准。
不过我觉得我几百k的小程序,带一个1M多xerces-c_x.dll,非常不合理,而且Xerces绝大多数功能我不需要,别给我说xmlspy和style studio使用它。
2 CMarkup
参考网站:
大名鼎鼎的开源软件FtpZilla使用,使用非常方便,将xml封装成了stl,不过商业版本要收费,无法考虑。
3 libxml
GNU的开源xml解析器,支持跨平台。貌似不错,但是内置UTF-8,使用时必须带iconv,还需要带库,不是源码集成,不是很方便。
4 libxml++
libxml 解析器的C++封装版本,libxml 不考虑,他也就算了。
5 tinyxml
使用起来比较简单,有几个小bug,商业版本谨慎使用。
所以综合考虑还是msxml。