使用冗余命名空间解析XML

时间:2013-05-17 13:33:09

标签: xml namespaces jaxb

我目前面临一个XML,我不太了解语法。

语法是这样的:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root xmlns="http://blubb.com/"> 
  <element>
    <element2 xmlns:ns1="http://blubb.com/" xmlns="">
    </element2>
  </element>
</root>

全局命名空间和ns1是相同的。除了命名空间之外,shema对于给定的xsd是有效的。 xsd只包含一个名称空间(全局)。

其实我现在有两个问题:

(1)为了更好地理解我所得到的:是否有任何理由为什么声明相同的命名空间?有什么优势吗?或者这完全错了?

(2)使用JAXB解析时,解组失败,并显示以下错误消息。 XML以此语法提供,无法更改。有没有办法忽略redudant命名空间才能解析文档?

Invalid content was found starting with element ...
...is expected

很高兴获得任何帮助!

谢谢!

1 个答案:

答案 0 :(得分:0)

在以下文档中,element2不是命名空间限定的,因此默认命名空间设置为“”。然后,http://blubb.com/命名空间空间已分配给ns1前缀,以备不时之需。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root xmlns="http://blubb.com/"> 
  <element>
    <element2 xmlns:ns1="http://blubb.com/" xmlns="">
    </element2>
  </element>
</root>

有关JAXB和命名空间的更多信息