![](/img/trans.png)
[英]How do I get accurate outputs when reading large amounts of data from a file?
[英]How to get correct data in a large xml file?
我有一个大的xml文件 (包含大约几百万个记录 ),并且需要获取大约100条记录 (基于id
或类似的东西)
我尝试过TinyXml和Xalan-C,但是它们都使用DOM
,因此会导致out of memory
问题。
是否有一个C / C ++库可以做到这一点,而无需将所有数据作为DOM
加载到内存中?
Apache Xerces呢? 它非常成熟,并且针对性能进行了优化(即,它不会将完整的文件读入内存!)。
Saxon-EE XSLT处理器可以以流模式处理XSLT的子集(也就是说,无需在内存中构建树)。 有关详细信息,请参见
http://www.saxonica.com/documentation/sourcedocs/streaming.xml
它不是C / C ++,但您没有说这是否是硬约束。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.