如何使用ElementTree for python读取带有标记的所有文本

时间:2017-03-27 08:39:51

标签: android python xml elementtree

我正在尝试阅读并检查Android string.xml文件中的所有文本。

该文件包含以下内容:

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="status">Finishing <xliff:g id="number">%d</xliff:g> percent.</string>
</resources>

我试过了:

import xml.etree.ElementTree as ET
tree = ET.parse(filepath)
root = tree.getroot()

print len(root[0])
# it prints 1

print root[0].text
# it prints Finishing 

print root[0][0].text
#it prints %d

如何找到打印第3个文本的方法,“百分比。”,而<xliff:g>标记是以我的方式获取的。 有任何正确的方法吗?感谢

1 个答案:

答案 0 :(得分:0)

ElementTree中,您的目标文字为“百分比”。被建模为元素tail的{​​{1}}:

xliff:g

或者使用更接近您尝试过的代码的内容:

>>> ns = {"xliff": "urn:oasis:names:tc:xliff:document:1.2"}
>>> g = root.find("string/xliff:g", namespaces=ns)
>>> print g.tail
 percent.