首页 > 解决方案 > 使用 ElementTree 从 Python 中的 XML 获取嵌套元素值

问题描述

我有一个类型的 xml:

<NAME F_NAME="BOGOTA">
  <SCHOOL NAME="DPS" ADDR="NYC" />
  <MED HOSP="ABC" FAMILY="IND">
    <PATIENT ID="10101022" WARD="10">
      <ADMIT TIME="YYYY-MM-DD HH:MM:SS" DR_NAME="XYZ">
      </ADMIT>
    </PATIENT>
  </MED>
</NAME>

我尝试通过以下方法访问元素:

>>> import xml.etree.ElementTree as ET
>>> parsed_xml = ET.parse('test.xml')
>>> root = parsed_xml.getroot()
>>> for child in root.iter():
...     print(child.tag, child.attrib)
...
NAME {'F_NAME': 'BOGOTA'}
SCHOOL {'NAME': 'DPS', 'ADDR': 'NYC'}
MED {'HOSP': 'ABC', 'FAMILY': 'IND'}
PATIENT {'ID': '10101022', 'WARD': '10'}
ADMIT {'TIME': 'YYYY-MM-DD HH:MM:SS', 'DR_NAME': 'XYZ'}

但这会打印所有子标签值及其属性。如何获取嵌套标签名称及其值?例如,学校->姓名。

标签: pythonpython-3.xxmlelementtree

解决方案


推荐阅读