0

据我所知,有 4 种使用 C++ 和 Qt 解析 XML 文件的方法。

QDom
QSax
QXMLStreamReader
QXMLQuery

我在我的文件中搜索具有特定属性的节点,如果找到它,我将中止解析,将文件名保存到列表并解析下一个文件。我使用 QDom 实现了这一点,但是因为我搜索了多达 10k 个文件,每个文件大约 400 行。解析它们需要一些时间。

我的问题是你们中是否有人知道这种不同方法的性能?或者,如果您有任何提示可以提高此类程序的性能?

我很感激任何信息!

4

1 回答 1

2

我认为,如果您没有从 xml 文件中获取树结构,请使用 QXMLStremReader。

QXmlStreamReader 是在 Qt 中读取 XML 的最快和最简单的方法。因为解析器以增量方式工作,所以它对于查找 XML 文档中所有出现的给定标记、读取可能无法放入内存的非常大的文件以及填充自定义数据结构以反映 XML 文档的内容特别有用。

于 2012-10-18T08:33:08.630 回答