1

我目前面临一个我不太了解语法的 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 以这种语法提供,并且不能更改。有没有办法忽略冗余命名空间来解析文档?

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

很高兴得到任何帮助!

谢谢!

4

1 回答 1

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 和命名空间的更多信息

于 2013-05-17T13:38:15.743 回答