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属性?
...全文
367 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
freelk 2018-03-23
  • 打赏
  • 举报
回复 1
找到解决办法了,将name定义为一个类,类中声明一个String类型变量,用@XMLValue注解。至于属性,则定义另外的变量,用@XMLAttribute注解。而@XMLValue在一个类中只能出现一次不能和@XMLElement注解共同使用。
发帖
Java

4.9w+

社区成员

Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
帖子事件
创建了帖子
2018-03-22 11:22
社区公告
暂无公告