【发布时间】:2012-11-22 14:58:25
【问题描述】:
我正在尝试使用 Python 解析 XML 文件。由于 XML 的大小,我想使用 Pull Parser。我找到了this 一个。
我的代码以
开头doc = pulldom.parse("myfile.xml")
for event, node in doc:
# code here...
我正在使用
if (node.localName == "b"):
获取XML标签名称,效果很好。
我找不到从标签之间获取文本的方法。使用node.nodeValue 返回None。
我可以使用node.toxml() 来获取节点的完整 XML,但我只想要标签之间的文本。除了使用正则表达式替换将标签从node.toxml() 中取出之外,还有其他方法吗?
【问题讨论】:
-
ElementTreeAPI 提供了一个流变体(标准库和lxml实现都有它)。您可能想要查看它并使用结束事件来获取文本。 -
如果你可以切换到
ElementTree,看看这个blog.doughellmann.com/2010/03/…。它解决了你的问题
标签: python xml xml-parsing xmlpullparser