在Python中使用Expat解析XML
背景:我之前使用的是C#,所以我希望能通过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)
我应该使用什么标准库来像在C#中那样,把DOM元素当作对象来处理,同时还能处理它们的属性呢?
我想要的功能类似于 NodeList nodes = Parser.SelectNodes("Xpath")。
1 个回答
1
我觉得如果你试试用 xml.dom
这个包,或者 xml.etree.ElementTree
,你会更顺利一些。ElementTree 对 xpath 有一些有限的支持,所以如果你习惯用这个,可能它是最好的选择。