繁体   English   中英

python ElementTree具有子元素的元素的文本

[英]python ElementTree the text of element who has a child

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

请参阅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?

使用Element.tail属性:

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

ElementTree有一个非常不同的XML视图,更适合嵌套数据。 .text是开始标记之后的数据。 .tail是结束标记之后的数据。 所以你要:

print root.find('test/ref').tail

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM