java-如何使用JAXB按原样读写XML元素?

我必须处理一些“难看的” XML片段,并希望使用JAXB来节省一些时间.

假设我的文档结构如下:

<root a="1" b="2" c="3">
<header a="1" b="2" c="3">
<info/>
<more info/>
</header>
<body>lots of nested elements in here</body>
</root>

我想处理来自根元素和子元素的几个属性,并将它们带入具有不同结构的新文档中.问题是:我需要在新文档中保持正文内容不变.

是否有任何方式(在解组/编组时)“按原样”获取元素的内容?

解决方法:

可以将XML的某些部分取消编组到通用DOM对象中,而不是JAXB生成的类中.看一下this linkthis one.

该示例适用于使用内联自定义绑定从W3C Schema生成Java类的情况.您可以将定制绑定放在一个单独的文件中,并让XJC在生成Java类时使用它们.

自然,如果您自己编写类,则可以使用适当的注释来实现相同的目的.

上一篇:java-JAXB-从XSD生成类-将枚举转换为除枚举名称之外的自定义toString()


下一篇:java-JAXB生成的方法未使用泛型