JAXB 向简单数据类型的 XmlElement 添加属性
我想在从 JavaBean 编组时使用 JAXB 向 Xml 元素添加一些属性。 Xml 元素是像字符串这样的简单数据类型。所以我不想创建新的类。例如,所需的输出是:
<notifications>
<date>04/20/2011</date>
<subject creditcard_num="22678" checknum="8904">Credit Card Charge Back</subject>
<body payment_amount="34.00" return_status="charged back">some text</body>
</notifications
我不想将主题和正文定义为单独的类。
-阿南德
I want to add some attributes to Xml Elements using JAXB when marshalling from JavaBeans. The Xml Elements are simple data types like String. So I do not want to create new Classes. For example, a desired output would be:
<notifications>
<date>04/20/2011</date>
<subject creditcard_num="22678" checknum="8904">Credit Card Charge Back</subject>
<body payment_amount="34.00" return_status="charged back">some text</body>
</notifications
I do not want to define subject and body as separate classes.
-Anand
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我的解决方案需要为主题和正文定义一个类,但所需的输出将按照要求
我使用@XmlValue作为消息,使用@XmlAttribute作为属性
注意:我只写了主题部分,我想知道是否可以使用@XmlPath来消除对不同类的需要
My solution require defining a class for subject and body, but the desired output will be as requested
I use @XmlValue for the message and @XmlAttribute for the attributes
NOTE:I only wrote the subject part, I wonder if using @XmlPath can be used to remove the need for different classes
您可以使用 EclipseLink JAXB (MOXy) 的 @XmlPath 注释来解决此问题(我我是 MOXy 技术主管):
通知
jaxb.properties
要使用 MOXy 作为 JAXB 实现,您需要将名为 jaxb.properties 的文件与您的模型放在同一包中具有以下条目的类:
演示
了解更多信息:
You could use EclipseLink JAXB (MOXy)'s @XmlPath annotation to solve this problem (I'm the MOXy tech lead):
Notifications
jaxb.properties
To use MOXy as your JAXB implementation you need to put a file named jaxb.properties in the same package as your model classes with the following entry:
Demo
For More Information: