Python读取XML文件中aenderungk元素失败问题求助
解决XML嵌套元素读取问题
先确认你的XML解析流程是否完整,以下是修正后的可运行代码示例,同时包含问题排查逻辑:
import xml.etree.ElementTree as ET class XMLReader: def __init__(self, xml_file_path): # 完整解析XML文件并获取根节点 tree = ET.parse(xml_file_path) self.root = tree.getroot() # 分步查找元素并校验每一步结果 self.header = self.root.find('kopf') if self.header: self.header_info = self.header.find('kopfinfo') if self.header_info: self.classes_with_changes = self.header_info.find('aenderungk') if self.classes_with_changes: print(self.classes_with_changes.text) # 输出结果:Hello world else: print("未找到aenderungk元素") else: print("未找到kopfinfo元素") else: print("未找到kopf元素") # 替换为你的XML文件路径 reader = XMLReader("your_xml_file.xml")
关键排查点
- 解析流程缺失:如果你的
self.root不是通过ET.parse()+getroot()获取的,会导致后续元素查找全部失败,必须确保完整加载XML文件。 - 元素拼写/大小写错误:XML对元素名称大小写敏感,检查代码中的元素名和XML文件中的是否完全一致(你的代码中
aenderungk拼写是正确的)。 - 简化查找方式:可以直接使用链式路径查找减少中间变量,更容易定位问题:
# 从根节点直接链式查找目标元素 self.classes_with_changes = self.root.find('./kopf/kopfinfo/aenderungk')
如果仍无法读取,建议在每一步打印获取到的元素,确认哪一步返回了None,即可定位具体失效环节。
内容的提问来源于stack exchange,提问作者zlElo
相关产品推荐
相关产品推荐

