根据标记属性提取数据

时间:2017-05-19 05:16:14

标签: python python-3.x

给出以下输入:

<tag1>
    <tag2 id="value">
        <tag3>
            text
        </tag3>
        <tag4>
            text
        </tag4>
    </tag2>
</tag1>

如果输入等于值,我想在tag3内提取文本。

到目前为止,无论value

,我都可以提取文本
tree = ET.parse(inFile)
text_file = open('output.txt', "w")
for p in root.iter('tag3')
    text_file.write(p.text + "\n")
text_file.close() 

但不知怎的,我无法上去找到tag2中属性的值。

1 个答案:

答案 0 :(得分:2)

你可以用BeautifulSoup

来做
from bs4 import BeautifulSoup

data = open('data.xml').read()
d = BeautifulSoup(data)
print d.find('tag3').getText()