|
|
1
4
通常,我建议使用ElementTree的
重要的是
另一点是,您可以在早期停止从迭代器读取元素,即在处理整个文档之前。 如果文件很大(是吗?),有一个常见的习惯用法是保持内存使用恒定,就像在流解析器中一样。 |
|
|
2
3
最快的方法是匹配字符串(例如,使用正则表达式),而不是解析XML——这取决于您的XML,这实际上是可行的。 但最重要的是:与其考虑几个选项,不如实施它们并在一个小集合上计时。这将花费大约相同的时间,并且会给你真实的数字,从而推动你前进。 编辑:
|
|
|
3
1
如果您知道XML文件是使用相同的算法生成的,那么根本不进行任何XML解析可能会更有效。例如,如果你知道数据在第3、4和5行,你可以逐行读取文件,然后使用正则表达式。 当然,如果文件不是机器生成的,或者来自不同的生成器,或者生成器随时间变化,这种方法就会失败。然而,我对此持乐观态度 将 更高效。 是否回收解析器对象在很大程度上无关紧要。将创建更多的对象,因此单个解析器对象并不重要。 |
|
|
4
1
您没有指出的一件事是,您是否正在将XML读取到某种DOM中。我猜你可能没有,但如果你有机会的话,不要这样做。用xml.sax代替。使用SAX而不是DOM将显著提高性能。 |