Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xmlns格式混乱_Xml_Xml Parsing_Xml Namespaces - Fatal编程技术网

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属性时,这是整个文档的默认名称空间。。。因此,所有

在这个xml中有一个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>