当节点包含值时,使用 JAXB 将 XML 转换为对象
Posted
技术标签:
【中文标题】当节点包含值时,使用 JAXB 将 XML 转换为对象【英文标题】:Convert XML to Object with JAXB when node contains value 【发布时间】:2017-07-15 12:41:09 【问题描述】:我以前曾使用过 JAXB,但我从未遇到过节点包含值的 XML。喜欢这个:
<node1>
<node2 id="abc"/>
</node1>
我确实将node1 视为@XmlRootElement,然后我使用了一个带有@XmlElement 注释的Node2 对象列表。在 Node2 对象中,我创建了一个字符串变量“id”,如下所示
@XmlRootElement(name = "node1")
public class Node1
@XmlElement(name="node2")
private List<Node2> node2list;
//get-set
public class Node2
private String id;
//get-set
问题是我无法获取 node2 的值。它总是给出空值。
【问题讨论】:
【参考方案1】:node2
元素内没有值,这就是为什么你得到null
,id
是node2
中的属性,你必须使用@XmlAttribute
来获得id
的值。
【讨论】:
以上是关于当节点包含值时,使用 JAXB 将 XML 转换为对象的主要内容,如果未能解决你的问题,请参考以下文章