如何使用JAXB“原样”读写XML元素?

3

我需要处理一些“丑陋”的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>

我想从根元素和子元素中提取几个属性,并将它们带入一个结构不同的新文档中。问题是:在我的新文档中,我需要保留body标签的内容,不做任何改动。

有没有办法(在取消编组/编组时)以原样获取元素的内容?


1
您介意使用XSLT来完成这项工作吗?因为您似乎想要的正是XSLT所擅长的。 - Tomalak
2个回答

2
可以将XML的部分内容反序列化为通用DOM对象,而不是JAXB生成的类。请参见此链接此链接
这个示例是针对从W3C模式生成Java类,使用内联自定义绑定的情况。您可以在单独的文件中具有自定义绑定,并且XJC在生成Java类时使用该文件。
当然,如果您自己编写类,那么可以使用适当的注释来实现同样的功能。

1

1
哎呀,我正忙着在你的博客里搜索适当的链接,你就发帖了 :D 这个 也看起来很相关。 - G_H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接