我正在使用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的文档,但我认为这可能是一个基本的问题。
答案 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()