可能重复:
JAXB 编组 XMPP 节
我在 stackoverflow 上做了一些搜索,并没有真正找到我需要的答案。
我在尝试使用 JAXB 操作命名空间时遇到了一些麻烦。让我们开始吧。
我需要以下格式的 XML
<root xmlns="http://namespace/root">
<item xmlns="http://namespace/item">
<id>1</id>
<name>First</name>
</item>
<item xmlns="http://namespace/item">
<id>2</id>
<name>Second</name>
</item>
</root>
如您所见,我基本上需要在每个标签上复制名称空间。当我尝试使用 JAXB 创建它时,我得到以下 XML 输出:
<root xmlns="http://namespace/root"
xmlns:ns2="http://namespace/item">
<ns2:item>
<ns2:id>1</ns:id>
<ns2:name>First</ns2:name>
</ns2:item>
<ns2:item>
<ns2:id>2</ns:id>
<ns2:name>Second</ns2:name>
</ns2:item>
</root>
显然它是这样生成的,它使用前缀所以这里不应该有任何问题,
但是我发送这个 XML 的消费者要求它是那种格式,我必须为文件中的每个项目复制名称空间。
有人知道该怎么做吗?我想到了一个字符串模板,但由于这一切都已经用 JAXB 完成了,我想知道是否没有更简单的方法可以做到这一点。
谢谢大家!