在XML-File中查找标记

时间:2014-03-17 16:00:50

标签: python xml elementtree

我有xml文件,如:

<article>
<MainText>
    <Big> HDhsdjdsd </Big>
    <Small> jdhdhksdj </Small>
    <Big><text> jsdhjsadh </text> <footnote> 1 </footnote>  <text> hsdhsdh </text> </Big>
</MainText>
</article>

我的问题是:由于“脚注”不是每次都在同一个位置(即在文本标签之后;但总是在“MainText”中),我不知道如何获得这个标签。 有人能告诉我这是怎么可能的吗?我用“findall”试了一下,但这不起作用。 谢谢你的帮助! :)

1 个答案:

答案 0 :(得分:1)

使用.//MainText//footnote xpath表达式。它会在footnote

中的任意位置找到MainText标记
import xml.etree.ElementTree as ET

data = """<article>
<MainText>
    <Big> HDhsdjdsd </Big>
    <Small> jdhdhksdj </Small>
    <Big><text> jsdhjsadh </text> <footnote> 1 </footnote>  <text> hsdhsdh </text> </Big>
</MainText>
</article>"""

tree = ET.fromstring(data)

print tree.find('.//MainText//footnote').text.strip()

打印1

希望有所帮助。