要遍历 XML 的所有节点以获取贡献者,可以使用递归的方式来实现。下面是一个示例代码,使用 Python 的 xml.etree.ElementTree
模块来解析 XML 文件:
import xml.etree.ElementTree as ET
def find_contributors(node):
contributors = []
# 遍历当前节点的所有子节点
for child in node:
# 如果子节点的标签是 'contributor',则获取其属性值
if child.tag == 'contributor':
# 获取贡献者的相关信息
contributor_info = {}
for info in child:
contributor_info[info.tag] = info.text
contributors.append(contributor_info)
# 递归调用,继续遍历子节点的子节点
contributors.extend(find_contributors(child))
return contributors
# 加载 XML 文件
tree = ET.parse('contributors.xml')
root = tree.getroot()
# 调用函数获取所有贡献者
all_contributors = find_contributors(root)
# 打印所有贡献者的信息
for contributor in all_contributors:
print(contributor)
在这个示例中,假设存在一个名为 contributors.xml
的 XML 文件,其中包含了贡献者的信息。通过调用 find_contributors
函数来遍历 XML 的所有节点,将贡献者的相关信息存储在一个列表中。然后,可以遍历这个列表来获取每个贡献者的信息。