在Python中使用Expat解析XML

1 投票
1 回答
3513 浏览
提问于 2025-04-15 19:49

背景:我之前使用的是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 有一些有限的支持,所以如果你习惯用这个,可能它是最好的选择。

撰写回答