我已经用这种方式声明了一个根:
root = ET.fromstring(xml_data)
,假设我有一个类似于此的
XML代码<a>
<b>
<c>
<d>
<e>
...
</e>
</d>
</c>
</b>
</a>
我不太清楚如何在元素树中迭代这些元素。
我考虑过这样做:
while (True)
for child in root
print child.tag
但最终得到了无限的输出:
a
a
a
a
a
为了让您了解我想要做什么,我传递了两个XML代码,一个是相当大而复杂的XML代码,另一个只是一个简单的XML代码。 我需要找到大型XML代码中有多少匹配的XML。
因此,我需要迭代大型XML中的每个元素,并将其与每个小型XML元素进行比较。
任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
任何解决方案都将是递归的
process_node(node n)
do something with n.text if present
for child in n.children
process_node(child)
在顶层
process_node(root)
根据需要添加节点名称测试以自定义处理。