vy3*_*y32 29 python elementtree minidom xml-parsing
我多年来一直使用minidom来解析XML.现在我突然了解了Element Tree.我的问题哪个解析更好?那是:
为什么我们有两个接口?
谢谢.
Ray*_*ger 19
用于XML解析的DOM和Sax接口是使用XML的经典方法.Python必须提供这些接口,因为它们是众所周知的标准.
ElementTree包旨在提供更多Pythonic接口.这一切都是为了让程序员更轻松.
根据您的构建,每个构建都有一个底层的C实现,使它们运行得很快.
以上所有工具均未被弃用.它们各有其优点(例如,Sax不需要将整个输入读入内存).
还有第三方模块lxml,这也是一个受欢迎的选择(全功能和快速).
mil*_*ose 15
Python有两个接口可能是因为Element Tree在minidom出现之后被很好地集成到标准库中.与W3C控制的DOM相比,其原因可能是更多的"Pythonic"API.
如果你关心速度,那么还有lxml,它使用libxml2构建一个与ElementTree兼容的DOM,应该非常快 - 他们有一个基准套件,将自己与ElementTree的Python和C实现相比较.
如果你担心内存使用,你不应该使用树API; PullDOM可能是一个更好的选择,但我从使用Java优秀的pull解析器的经验中推断 - 在PullDOM上似乎没有太多当前信息.
归档时间:
13 年,10 月 前
查看次数:
15784 次
最近记录:
13 年,7 月 前