【发布时间】:2016-08-26 09:00:19
【问题描述】:
我有三个 XML 文件(示例如下)。我用它们各自的audioId 属性值命名了这些文件。因此,有问题的文件将被称为93.xml 和2137.xml:
93.xml:
<word BloomsTaxonomy="1,2,3" DictationGroupid="i-e combination List 7" Stage="0" Use="P,L" audioId="93" />
2173.xml:
<word BloomsTaxonomy="1,2,3" DictationGroupid="i-e combination List 7" Stage="0" Use="P,L" audioId="2137" />
mainDataSet.xml:
<word id="2137" title="over" level="1" grouping="Sight Words" YRule="0" MagicE="0" SoftC="0" doublevowel="0" longvowel="0" displayorder="101" silentletters="0"/>
文件 mainDataSet.xml 包含约 3,000 个条目。出于这个问题的目的,我只提供了一个条目。
我的问题是,如果id 在两个文件中都匹配(或者即使@ mainDataSet.xml 中的 987654334@ 与文件 name 匹配。例如,在我提供的示例中,输出应该是:
<word BloomsTaxonomy="1,2,3" DictationGroupid="i-e combination List 7" Stage="0" Use="P,L" audioId="2137" title="over" />
要从 mainDataSet.xml 解析我的 XML,我目前正在做:
e = xml.etree.ElementTree.parse('mainDataSet.xml').getroot()
for atype in e.findall('word'):
print(atype.get('title'))
【问题讨论】:
标签: python xml xml-parsing lxml elementtree