java - JAXB 生成的 XML 中重复的命名空间声明

标签 java jaxb

我正在使用 JAXB 从 Java 对象生成 XML,它是一个实时的、消息速率相当高的应用程序,大部分时间都运行良好。然而,有时我会在生成的 XML 中得到重复的 namespace 声明,而且没有任何明显的线索来说明原因。例如:

<UpdateRequest xmlns="http://xml.mycomp.com/ns/myservice" 
               xmlns="http://xml.mycomp.com/ns/myservice">
    <field1>value</field1>
    ...
</UpdateRequest>

有没有人见过这种行为?

最佳答案

检查此类的 xsd 代码是否允许创建超过 1 个重复属性的实例。如果是这样,您可以避免重复设置每个 UpdateRequest 对象的 xmlns 属性的实例数。

如果问题出在你的代码上(也许这个属性被创建了两次)并且你限制了该属性的实例数量(正如我上面所说的),程序将在运行时显示一个错误,提示你正在尝试插入一个已经定义的属性。

关于java - JAXB 生成的 XML 中重复的命名空间声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2131376/

相关文章:

java - 如何更改二维数组中对象的位置

java - Android 复选框 Listview 回收导致意外的框检查

java - 从 utf-8 文本文件读取文件路径?

java - 将图像参数从 GWT/GXT 传递到 Jasper 报告的问题

java - JAXB 获取元素的所有内容(标签和文本)

java - 为什么 JAXB 需要一个无参数构造函数来编码?

java - 将外部自定义绑定(bind)应用于包含的架构

java - Tomcat 上的虚拟主机

gradle - 为什么Gradle + Jacoco会抛出与JAXB类有关的异常?

enums - JAXB 不会为受限元素创建枚举