【发布时间】:2019-02-07 15:34:40
【问题描述】:
问题:
我可以使用lxml.etree.QName(element).localname 获得没有命名空间的element.tag 名称。
与element.attrib类似怎么办?
示例:
假设这个 XML 文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root xmlns="some_ns" xmlns:soc="some_other_ns" >
<someTag attr1="something" soc:attr2="something else"></someTag>
</root>
此脚本返回 attrib 以及第二个属性的命名空间:
from lxml import etree
root = etree.parse('test.xml').getroot()
ns = { 'n':'some_ns', 'son':'some_other_ns' }
print ([e.attrib for e in root.xpath('./n:someTag', namespaces = ns)])
输出:
[{'{some_other_ns}attr2': 'something else', 'attr1': 'something'}]
【问题讨论】:
标签: python lxml xml-namespaces