jaxb怎么给String类型的子节点添加属性?

freelk 2018-03-22 11:22:30
使用jaxb生产xml文件,但是生成的文件中有很多String类型子节点要添加属性,例如

<Person>
<name id='1'>张三</name>
<age>20</age>
</Person>

像上面的xml,一般来说用如下的类来表示
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name = "Person")
@XmlAccessorType(XmlAccessType.FIELD)
public class Person {

@XmlElement
private String name;

@XmlElement
private int age;
//构造方法,setter和getter省略
}

如何用jaxb给name节点增加id属性?
...全文
385 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
freelk 2018-03-23
  • 打赏
  • 举报
回复 1
找到解决办法了,将name定义为一个类,类中声明一个String类型变量,用@XMLValue注解。至于属性,则定义另外的变量,用@XMLAttribute注解。而@XMLValue在一个类中只能出现一次不能和@XMLElement注解共同使用。

50,454

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧