使用Python从XML获取内容?差不多了

时间:2013-06-06 06:37:55

标签: python xml elementtree

我正在使用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文件,我理解'标签'和'attrib'是什么,但我如何获得'内容'?我试着查看ElementTree的文档,但我认为这可能是一个基本的问题。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

你尝试过XPath吗?

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

这是一个例子:

import XmlXPathSelector
xs = XmlXPathSelector(text="<tags>your xml</tags>")
print xs.select("//tag_name[@attrib='1']/text()").extract()