python ElementTree 有子元素的文本

jae*_*ong 5 python xml elementtree

当我尝试读取有子元素的文本时,它给出 None :

查看 xml(例如 test.xml):

<?xml version="1.0"?>
<data>
    <test><ref>MemoryRegion</ref> abcd</test>
</data>
Run Code Online (Sandbox Code Playgroud)

以及想要读取“abcd”的Python代码:

import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
print root.find("test").text
Run Code Online (Sandbox Code Playgroud)

当我运行这个 python 时,它给出 None,而不是 abcd。

在这种情况下如何读取abcd?

fal*_*tru 5

使用Element.tail属性:

>>> import xml.etree.ElementTree as ET
>>> tree = ET.parse('test.xml')
>>> root = tree.getroot()
>>> print root.find(".//ref").tail
 abcd
Run Code Online (Sandbox Code Playgroud)