我以这种方式检索 XML 文档:
import xml.etree.ElementTree as ET
root = ET.parse(urllib2.urlopen(url))
for child in root.findall("item"):
a1 = child[0].text # ok
a2 = child[1].text # ok
a3 = child[2].text # ok
a4 = child[3].text # BOOM
# ...
XML 如下所示:
<item>
<a1>value1</a1>
<a2>value2</a2>
<a3>value3</a3>
<a4>
<a11>value222</a11>
<a22>value22</a22>
</a4>
</item>
我如何检查 a4
(在这种特殊情况下,但它可能是任何其他元素)是否有孩子?
原文由 Incerteza 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以在元素上尝试
list
函数:我修改了你的示例,因为
findall
函数调用item
root 没有工作(因为findall
将搜索当前元素)。如果你想在你的工作程序中访问子子的文本,你可以这样做:不过,这很适合递归。