You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JAXB为带子元素的根元素设置文本值

解决方案

你需要将userId字段的注解替换为@XmlValue,该注解的作用是把字段值映射为当前类对应XML元素的文本内容,修改后的代码如下:

@XmlRootElement(name = "USER_ID")
@XmlAccessorType(XmlAccessType.NONE)
public class UserD {

    @XmlValue
    private String userId;
    
    @XmlElement(name = "Name")
    private ArrayList<Name> name;

    // 需保留无参构造方法、对应字段的getter/setter,保证JAXB序列化正常
}

之前的两种写法里,@XmlElement会额外生成同名子节点,@XmlAttribute会生成节点属性,都不符合你需要的根元素文本内容的需求,替换为@XmlValue后序列化即可得到你期望的输出结果。

内容的提问来源于stack exchange,提问作者Bhanu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 01:12:00