我有以下XML文件:
<annotations count="1">
<track id="0" label="Machine">
<box frame="0" ><attribute id="8">act1</attribute></box>
<box frame="1" ><attribute id="8">act2</attribute></box>
<box frame="2" ><attribute id="8">act1</attribute></box>
</track>
</annotations>
我想提取框架和动作里面的属性。例如我想拥有(frame:0,act1),(frame:1,act2) ... 现在我正在做的是
root = xml.etree.ElementTree.parse(xml_file_path).getroot()
for track in root.iter('track'):
for box in track.iter('box'):
frame = box.get('frame')
我如何也可以获取相应的属性(act1,...,act 1)?
答案 0 :(得分:1)
您可以通过
访问<attribute id="8">act1</attribute>
box.find('attribute')
要使用该行为,请执行以下操作:
>>>box.find('attribute').text
act1 # or act2
python文档是非常好的资源:https://docs.python.org/2/library/xml.etree.elementtree.html
答案 1 :(得分:1)
您还可以使用数组符号,如果您将其抓取或放入大量循环中可能会很有用
root[0][0][0].text
root[0][0][1].text
等等