当节点包含值时,使用JAXB将XML转换为Object

时间:2017-02-24 15:46:27

标签: java xml jaxb

我以前曾在JAXB工作,但我从未遇到过一个节点包含值的XML。像这样:

<node1>
  <node2 id="abc"/>
</node1>

我确实将node1视为@XmlRootElement,然后使用了一个用@XmlElement注释的Node2对象列表。在Node2对象中,我创建了一个String变量&#39; id&#39;如下

@XmlRootElement(name = "node1")
public class Node1{

  @XmlElement(name="node2")
  private List<Node2> node2list;

  //get-set
}

public class Node2{

  private String id;

  //get-set
} 

问题是我无法获得node2的值。它总是给出null。

1 个答案:

答案 0 :(得分:2)

node2元素中没有值,这就是null,[{1}}属于id属性的原因,您必须使用node2获取@XmlAttribute的值。