我需要在大小介于10-200MB之间的XML文件中搜索一个特定的字符串,该字符串始终位于XML文件的同一级别,位于相同的标记下。在
如果我找到这个特定的字符串,那么我需要从树中收集其他数据。不幸的是,感兴趣的值嵌套在数据中很深。不是每个文件都包含此标记。有时标记会包含查询值,有时则不会。在
<foo>
<fun2>
<bla>Same level useless value with different tag</bla>
</fun2>
<fun>
<bar>
<maybeofinterest>Not of interest</maybeofinterest>
<maybeofinterest>Check the whole tree</maybeofinterest>
</bar>
</fun>
<foo>
我目前使用一个简单的ElementTree对象来保存XML树,对于较大的文件来说速度非常慢(改为考虑lxml)。如果感兴趣的查询项甚至不在文件中,那么整个树就会被丢弃,这也是一种可怕的浪费。在
有没有一种只查询特定标记的快速方法?或者是愚蠢的逐行文件搜索?如果块有错误的标记,我可以跳过整个块,我希望有一种方法可以利用这个事实。在
目前没有回答
相关问题 更多 >
编程相关推荐