4

子を持つ要素のテキストを読み取ろうとすると、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 を実行すると、abcd ではなく None が返されます。

この状態でabcdを読むにはどうすればよいですか?

4

2 に答える 2

5

使用Element.tail属性:

>>> import xml.etree.ElementTree as ET
>>> tree = ET.parse('test.xml')
>>> root = tree.getroot()
>>> print root.find(".//ref").tail
 abcd
于 2013-10-31T06:46:07.040 に答える
4

ElementTreeネストされたデータにより適した XML のかなり異なるビューがあります。 .text開始タグの直後のデータです。 .tail終了タグの直後のデータです。あなたが望んでいるのは:

print root.find('test/ref').tail
于 2013-10-31T06:47:07.190 に答える