我有一个XSD文件,需要在其中获取根标记中定义的命名空间:
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:abw="http://www.liegenschaftsbestandsmodell.de/ns/abw/1.0.1.0" xmlns:adv="http://www.adv-online.de/namespaces/adv/gid/6.0" xmlns:bfm="http://www.liegenschaftsbestandsmodell.de/ns/bfm/1.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:sc="http://www.interactive-instruments.de/ShapeChange/AppInfo" elementFormDefault="qualified" targetNamespace="http://www.liegenschaftsbestandsmodell.de/ns/abw/1.0.1.0" version="1.0.1.0">
<!-- elements -->
</schema>
现在,由于这个模式定义的targetNamespace
是{abw
。为了获得这个标识符,我必须从根标记中获取与我的targetNamespace
完全相同的属性(我不能依赖targetNamespace
-stringallready的标识符部分,这可能会在将来发生变化)。在
关于这个问题How to extract xml attribute using Python ElementTree我发现了如何获取由其名称给定的属性的值。但是我不知道属性名,只知道它的值,所以当我有一个值并想选择具有此值的属性时,我该怎么办?在
我想到了这样的事情:
^{pr2}$但是root.attrib
只包含elementFormDefault
、targetNamespace
和{
字符串必须是Unicode,否则将出现错误
代码:
^{pr2}$输出:
使用minidom而不是ETree可以做到:
这将返回},具体取决于xsd中的第一个。当然,我们应该忽略第一种情况,但这超出了这个问题的范围。在
targetNamespace
或{相关问题 更多 >
编程相关推荐