使用 Expat 在 Python 中解析 XML
Posted
技术标签:
【中文标题】使用 Expat 在 Python 中解析 XML【英文标题】:Parsing XML in Python using Expat 【发布时间】:2010-02-28 08:15:09 【问题描述】:背景:我来自 C#-land,所以我正在寻找能够通过 Xpath 选择来处理节点和值的东西。
到目前为止,这是我的代码:
import urllib
import sys
from xml.parsers import expat
url = 'http://SomeWebService.SomeDomain.com'
u = urllib.urlopen(url)
Parser = expat.ParserCreate()
data = u.read()
try:
Parser.Parse(data)
except:
print "ERROR: Can't parse the XML"
sys.exit(0)
我应该使用什么标准库来处理作为对象的 DOM 元素及其属性,就像在 C# 中一样?
我正在寻找类似 NodeList nodes = Parser.SelectNodes("Xpath")
【问题讨论】:
【参考方案1】:我认为,如果您尝试使用 xml.dom
或 xml.etree.ElementTree
软件包之一,您的运气会更好。 ElementTree 有一些有限的 xpath 支持,所以如果你习惯这样做,它可能是最好的选择。
【讨论】:
我在这里查看:bit.ly/baRkvP,但我没有看到不同 XML DOM 实现的列表。您能否指出一个或多个可用 xml.dom pkgs 列表(并希望包括一些示例链接)? 您链接到的手册中接下来的两章涵盖了xml.dom.minidom
[1] 和xml.dom.pulldom
[2]。目前我想不出任何示例,但是如果您习惯于使用 DOM 操作,这应该是相当自然的。也就是说,如果它可以满足您的需求,我推荐 ElementTree。 [1]:docs.python.org/library/xml.dom.minidom.html [2]:docs.python.org/library/xml.dom.pulldom.html以上是关于使用 Expat 在 Python 中解析 XML的主要内容,如果未能解决你的问题,请参考以下文章