我正在使用XMLReader读取一个大型XML文件,其中包含大约100万个元素。但是,我已经计算过,当我使用XMLReader::next ([ string $localname ] )
或XMLReader::read ( void )
这不太实用。有更快的方法吗?
答案 0 :(得分:1)
没有一种快速的方法可以做到这一点。对于随机访问,XML本质上很慢,并且无法绕过它。
正确的做法是考虑您的算法并确定您为什么要处理这样的数据。从一个元素到下一个孩子或兄弟元素是便宜和快速的。只要您的算法只需要遍历XML文件一次,就不会产生太多开销。但是,听起来您可能正试图在结构中的任意位置无序访问元素。无论你试图使用什么读者,糖蜜都会变慢。
答案 1 :(得分:0)