我有一个非常大的XML文件,含有40,000个标记元素。 当我使用元素树来解析这个文件时,它会给内存带来错误。 那么是否有python中的任何模块可以读取数据块中的xml文件,而无需将整个xml加载到内存中?我如何实现该模块?如何解析分块的XML文件
2
A
回答
2
在Python中使用XML的最好的库可能是lxml
,在这种情况下,您应该对iterparse
/iterwalk
感兴趣。
+2
http://stackoverflow.com/questions/7171140/using-python-iterparse-for-large-xml-files这是值得注意的时候使用大的XML文件。 – 2012-02-12 13:58:39
2
这是人们通常使用sax解决的问题。
如果您的大文件基本上是一堆内部聚集的XML文档和整个XML信封,那么我会建议使用sax(或纯字符串解析)将它分解成一系列单个文档,然后您可以使用它lxml.etree。
相关问题
- 1. 解析非XML文件中的XML块
- 2. 如何解析XML文件
- 3. 如何解析XML文件?
- 4. 如何解析XML文件
- 5. 如何解析XML文件
- 6. 如何解析XML文件
- 7. 解析XML文件etree模块
- 8. 解析XML文件的特定部分
- 9. 解析XML文件的一部分
- 10. 如何解析RapidXML中的XML文件
- 11. 如何解析SSIS中的XML文件?
- 12. 如何解析python中的xml文件?
- 13. XML文件解析?
- 14. 解析XML文件
- 15. 解析XML文件
- 16. 解析XML文件...
- 17. 解析XML文件
- 18. 解析xml文件
- 19. 解析XML文件
- 20. 解析XML文件
- 21. 解析XML文件
- 22. 解析XML CDATA块
- 23. 使用SAX解析器,如何解析java中的xml文件
- 24. 我如何解析XML文件与jquery
- 25. 如何解析这个XML文件?
- 26. 如何从R.xml文件夹解析XML?
- 27. 如何在PHP中解析XML文件
- 28. 如何在java中解析xml文件?
- 29. 如何在PHP中解析XML文件?
- 30. 如何解析这个XML文件?
我不是pythonist,但是查找用于解析XML的SAX(不是DOM)方法。 – 2012-02-12 13:44:13
只要问题不需要随机访问标签,SAX就是完美的。如果情况并非如此,如果有办法在内存中构建更紧凑的数据表示,您仍然可以使用它。 – 2012-02-12 13:50:38
lxml是最好的..建议n使用IBM以及:) – codersofthedark 2012-03-14 05:53:37