【发布时间】:2016-06-07 01:44:49
【问题描述】:
我正在使用 lxml 解析具有自定义名称空间的 xml。下面给出了xml的摘录。
<abcd:ABCDCfg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:abcd="http://www.xyzv.com/abcd">
<abcd:Section name="Features" display-name="Features" desc=“Parameters”>
<abcd:Param name=“mode”>
<abcd:Type>string</abcd:Type>
<abcd:Persistent>true</abcd:Persistent>
<abcd:Configurable>true</abcd:Configurable>
<abcd:ReadAccess>aup</abcd:ReadAccess>
<abcd:WriteAccess>ap</abcd:WriteAccess>
<abcd:DisplayName>Mode</abcd:DisplayName>
</abcd:Param>
</abcd:Section>
</abcd:ABCDCfg>
现在当我在我正在使用的 xml 中查找值时
sections = xmltree.findall('{http://www.xyzv.com/abcd}Section')
if (child.tag =='{http://www.xyzv.com/abcd}Param')
在 lxml 中是否存在使我能够在没有命名空间的情况下使用 lxml。类似的东西
sections = xmltree.findall('Section')
if (child.tag =='Param')
这将使代码真正可读。欢迎任何帮助。
【问题讨论】:
标签: xml parsing xml-parsing namespaces lxml