首页 > 解决方案 > 使用命名空间时Python lxml无法导航

问题描述

我有一个使用 lxml 读取 xml 文件的 python 脚本。但是 lxml 被命名空间抛弃了。即,如果xmlns="http://theurl.com"在运行脚本之前从我的 xml 文件中删除它可以正常工作,并且发现所有elements. 我真的在努力修改脚本以使其实现,所以我不需要在解析之前从 xml 文件中删除名称空间引用。

示例代码

from lxml import etree
root = etree.parse(r'myfile.xml')

Elements=[]
for elements in root.xpath('//element'):
      print(list(elements.keys()))

示例文件。

 <ServiceDefinition xmlns="http://theurl.com" " version="1.0.1.0">
      <schema>
         <seqtype="xyz">
            <element name="element 1"/>
            <element name="element 2"/>
         </seqtype>
       </schema>
</ServiceDefinition>

标签: pythonxmllxml

解决方案


推荐阅读