用python实时查询大型XML文件的最快方法
我需要在大小介于10-200MB之间的XML文件中搜索一个特定字符串,该字符串始终位于XML文件的同一级别,位于同一标记下面 如果我找到这个特定的字符串,那么我需要从树中收集其他数据。不幸的是,感兴趣的值被深深地嵌套在数据中。并非每个文件都包含此标记。有时标记将包含查询值,有时则不包含用python实时查询大型XML文件的最快方法,python,xml,bigdata,Python,Xml,Bigdata,我需要在大小介于10-200MB之间的XML文件中搜索一个特定字符串,该字符串始终位于XML文件的同一级别,位于同一标记下面 如果我找到这个特定的字符串,那么我需要从树中收集其他数据。不幸的是,感兴趣的值被深深地嵌套在数据中。并非每个文件都包含此标记。有时标记将包含查询值,有时则不包含 <foo> <fun2> <bla>Same level useless value with different tag</bla>
<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)。如果感兴趣的查询项甚至不在文件中,那么整个树就会被丢弃,这也是一种可怕的浪费
是否有一种只查询特定标记的快速方法?或者是一行一行的文件搜索方式?如果块的标签错误,我可以跳过整个块,我希望能找到一种利用这一事实的方法。寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现该问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。