0

我正在使用 ElementTree,我可以获取标签和属性,但不能获取元素之间的实际内容。

从这个 XML:

<tag_name attrib="1">I WANT THIS INFO HERE</tag_name>

这是我的python代码:

import urllib2
import xml.etree.ElementTree as ET
XML = urllib2.urlopen("http://URL/file.xml")
Tree = ET.parse(XML)

for node in Tree.getiterator():
    print node.tag, node.attrib

这会打印大部分 XML 文件,我了解“标签”和“属性”是什么,但是如何获取“内容”?我尝试查看 ElementTree 的文档,但我认为这可能是一个太基本的问题。

4

2 回答 2

2

.text方法应该为您提供所需的文本值。

for node in Tree.getiterator():
    print node.tag, node.attrib, node.text
于 2013-06-06T06:45:32.330 回答
0

您尝试过 XPath 吗?

有很多库可以使用非常简单但功能强大的语法从标签中提取内容。

这里有一个例子:

import XmlXPathSelector
xs = XmlXPathSelector(text="<tags>your xml</tags>")
print xs.select("//tag_name[@attrib='1']/text()").extract()
于 2013-06-06T06:42:41.163 回答