当我尝试阅读有孩子的元素的文本时,它会给出无:
请参阅xml(比如test.xml):
<?xml version="1.0"?>
<data>
<test><ref>MemoryRegion</ref> abcd</test>
</data>
和想要读取'abcd'的python代码:
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
print root.find("test").text
当我运行这个python时,它给出None,而不是abcd。
在这种情况下如何阅读abcd?
答案 0 :(得分:4)
使用Element.tail
属性:
>>> import xml.etree.ElementTree as ET
>>> tree = ET.parse('test.xml')
>>> root = tree.getroot()
>>> print root.find(".//ref").tail
abcd
答案 1 :(得分:3)
ElementTree
具有相当不同的XML视图,更适合嵌套数据。 .text
是开始标记之后的数据。 .tail
是结束标记之后的数据。所以你想要:
print root.find('test/ref').tail