我需要像解析XML一样解析Python中的file.xsd。
我正在使用libxml2。
我必须解析如下所示的xsd:
<xs:complexType name="ClassType">
<xs:sequence>
<xs:element name="IeplcHeader">
<xs:complexType>
<xs:sequence>
<xs:element name="device-number" type="xs:integer" fixed="1"/>
</xs:sequence>
<xs:attribute name="version" type="xs:integer" use="required" fixed="0"/>
</xs:complexType>
</xs:element>
当我使用
doc.xpathEval('//xs:complexType/xs:sequence/xs:element[@name="IeplcHeader"]'):
告诉我找不到路。
如果我删除所有xs:
<complexType name="ClassType">
<sequence>
<element name="IeplcHeader">
<complexType>
<sequence>
<element name="device-number" type="xs:integer" fixed="1"/>
</sequence>
<attribute name="version" type="xs:integer" use="required" fixed="0"/>
</complexType>
</element>
这样就行了
doc.xpathEval('//complexType/sequence/element[@name="IeplcHeader"]'):
有人知道我怎么才能知道修复前缀的问题吗?现在我正在准备删除xs:的文件,但这是一个可行的解决方案,我真的希望能够找到更好的解决方案。
(我还没有尝试使用py dom xpath,我不知道是否可以使用xs:)
谢谢, ste公司
如果您必须处理xsd文件,也可以使用它们来验证xml文件,我建议您传递给对XMLSchema文件有良好支持的lxml。
示例代码:
结果:
相关问题 更多 >
编程相关推荐