【问题标题】:Parsing XML with redundant namespace使用冗余命名空间解析 XML
【发布时间】:2013-05-17 13:33:08
【问题描述】:

我目前面临一个我不太了解语法的 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

很高兴获得任何帮助!

谢谢!

【问题讨论】:

    标签: xml namespaces jaxb


    【解决方案1】:

    在以下文档中,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 和命名空间的更多信息

    【讨论】:

      猜你喜欢
      • 2021-05-03
      • 2014-01-10
      • 2010-11-08
      • 2018-07-15
      • 2012-06-11
      • 2015-09-08
      • 2011-09-20
      相关资源
      最近更新 更多