我有一个XML文件,我想从某些标记中提取数据,这些标记只嵌套在其他标记中,即包含我要提取的数据的标记出现在XML文档的其他位置。
示例XML:
<root>
<tag1>content I don't want</tag1>
<tag2>content I don't want</tag2>
<tag3>content I don't want</tag3>
<item>
<tag1>content I want</tag1>
<tag2>content I want</tag2>
<tag3>content I want</tag3>
</item>
<item>
<tag1>content I want</tag1>
<tag2>content I want</tag2>
<tag3>content I want</tag3>
</item>
</root>Python代码(它检索所有数据,包括我不想要的标签):
for counter in range(2):
variable0 = XML_Document.getElementsByTagName('item')[counter]
variable1 = XML_Document.getElementsByTagName('tag1')[counter].toxml(encoding="utf-8")
variable2 = XML_Document.getElementsByTagName('tag2')[counter].toxml(encoding="utf-8")
variable3 = XML_Document.getElementsByTagName('tag3')[counter].toxml(encoding="utf-8")
print counter
print variable1
print variable2
print variable3如何修改循环,使其仅访问嵌套在项目标记中的标记中的数据?
发布于 2011-07-12 23:54:35
您始终可以在任何子节点上调用getElementsByTagName():
for item in XML_Document.getElementsByTagName('item'):
tag1 = item.getElementsByTagName('tag1')[0].toxml(encoding="utf-8")
tag2 = item.getElementsByTagName('tag2')[0].toxml(encoding="utf-8")
tag3 = item.getElementsByTagName('tag3')[0].toxml(encoding="utf-8")
print tag1, tag2, tag3https://stackoverflow.com/questions/6665725
复制相似问题