我想使用Python然而上的PyXML工作似乎已经停止解析一个简单的,小的XML文件。 我想如果可能的话使用Python 2.6。 谁能推荐一个XML解析器,将与2.6的工作?
谢谢
我想使用Python然而上的PyXML工作似乎已经停止解析一个简单的,小的XML文件。 我想如果可能的话使用Python 2.6。 谁能推荐一个XML解析器,将与2.6的工作?
谢谢
如果是小而简单,然后只需使用标准库 :
from xml.dom.minidom import parse
doc = parse("filename.xml")
这将返回一个DOM树实现标准文档对象模型API
如果以后需要做这样的模式验证或XPath复杂的东西,然后查询我推荐的第三方LXML模块 ,这是各地流行的libxml2 C库的包装。
对于大多数的我的任务我已经使用了轻量级minidom命名DOM实现,从官方页面:
from xml.dom.minidom import parse, parseString
dom1 = parse('c:\\temp\\mydata.xml') # parse an XML file by name
datasource = open('c:\\temp\\mydata.xml')
dom2 = parse(datasource) # parse an open file
dom3 = parseString('<myxml>Some data<empty/> some more data</myxml>')
这也是关于如何使用说明沿着使用minidom命名一个很好的例子。
将限于lxml满足您的需求? 它的第一个工具,我找谁XML解析。
几年前,我写了一个图书馆与结构化的XML工作。 这使得通过使一些限制的假设XML简单。
你可以使用XML的东西,例如文字处理文档,在这种情况下,你必须与嵌入所有的地方XML标签的东西复杂汤; 在这种情况下,我的图书馆也不会好。
但是,如果你正在使用XML的东西,像一个配置文件,我的图书馆是相当方便的。 您定义描述你想要的XML的结构类,一旦你这样做的类,还有用XML啜并解析它的方法。 实际的解析是由xml.dom.minidom完成的,但后来我的媒体库中提取数据,并把它的类。
最好的部分:你可以宣布一个“集合”类型,这将是一个Python列表里面坐了零个或多个其他XML元素。 这是伟大的像Atom或RSS提要的东西(这是最初的原因,我设计了库)。
这里的网址: http://home.avvanta.com/~steveha/xe.html
我很乐意回答的问题,如果您有任何。