xmlns格式混乱
在这个xml中有一个xmlns属性,后面没有一个xmlns格式混乱,xml,xml-parsing,xml-namespaces,Xml,Xml Parsing,Xml Namespaces,在这个xml中有一个xmlns属性,后面没有一个:和一个前缀名 xmlns=”http://www.noprefix.org/2003/linkbase“ 但另一些在xmlns后面有冒号和前缀。因此,当我试图解析这个xml以获得带有“substands”函数的roleref标记时,它没有显示任何内容。但是,如果我在xmlns之后添加一个:和前缀,那么它就可以正确解析。为什么它表现得像任何人都能解释的那样?谢谢。当您有一个不带冒号和前缀的xmlns属性时,这是整个文档的默认名称空间。。。因此,所有
:
和一个前缀名
xmlns=”http://www.noprefix.org/2003/linkbase“
但另一些在xmlns后面有冒号和前缀。因此,当我试图解析这个xml以获得带有“substands”函数的
roleref
标记时,它没有显示任何内容。但是,如果我在xmlns之后添加一个:
和前缀,那么它就可以正确解析。为什么它表现得像任何人都能解释的那样?谢谢。当您有一个不带冒号和前缀的xmlns属性时,这是整个文档的默认名称空间。。。因此,所有未固定的元素都将位于该默认名称空间中。但是,这与没有名称空间不同。请记住,名称空间实际上是URI,而不是前缀。。。前缀只是引用此项的快捷方式。因此,如果您有这样一个xml文件:
<linkbase xsi:schemaLocation="http://www.w3.org/1998/linkbase http://www.xbrl.org/2003/schema.xml" xmlns="http://www.noprefix.org/2003/linkbase" xmlns:xlink="http://www.w3.org/2005/xlink" xmlns:xsi="http://www.w3.org/1999/XMLSchema">
<roleRef roleURI="http://www.greenserve.com/role/Commitgencies" xlink:href="Commitmentsngencies" xlink:type="simple" />
</linkbase>
没有名称空间前缀的元素不能仅通过元素名称来寻址,因为它们仍然在名称空间中
现在,关于如何解析它。。。这一切都取决于你的工具。如果是XSLT,则可以在XSLT文件中为该名称空间提供一个临时前缀,以便处理这些元素。每种编程语言中的每个库都可能有不同的实现方法(作为众多示例之一,python中的lxml将处理以下默认名称空间元素:{http://example.org}要素1)。关于如何处理默认名称空间中的元素,您必须参考正在进行解析的内容以获得帮助。我正在操作脚本3中解析此文件。知道如何解析它吗?谢谢你的回复。
<xml xmlns="http://example.org" xmlns:ex="http://example2.org">
<element1/>
<element2/>
<ex:element3>
</xml>