【问题标题】:Parsing XML in Python using Expat使用 Expat 在 Python 中解析 XML
【发布时间】: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")

【问题讨论】:

    标签: python xml xpath xmlnode expat-parser


    【解决方案1】:

    我认为,如果您尝试使用 xml.domxml.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
    猜你喜欢
    • 1970-01-01
    • 2010-10-11
    • 2012-09-10
    • 1970-01-01
    • 2017-09-22
    • 2022-01-18
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多