首页 > 解决方案 > 从 xml 模式中提取一组元素

问题描述

如何使用 Python 代码提取此图像的红色部分?更具体地说,我需要每个 xs:element 的“名称”属性,如 PURPOSE_CD、TYPE_CD 等我尝试使用此代码,但它不起作用

import xml.etree.ElementTree as ET
for item in root.findall('NewDataSet'):
  print('found')
  item_text=item.findall("xs:element").text
  item_name=item.get('name')
  print(item_name)

非常感谢

标签: pythonxmlxsd

解决方案


也许我无法很好地解释我对 Jens 的回答(谢谢!)。如果我使用:

for item in root.findall('//xs:element'):

,我得到

SyntaxError: cannot use absolute path on element

相反,如果我写:

root = etree.XML(my_xml)
root.xpath('//xs:element[@name="OfferteOperatori"]/xs:complexType/xs:sequence/xs:element')

,然后我得到

XPathEvalError: Undefined namespace prefix

谢谢


推荐阅读