У меня есть XML-документ структурирован какВыписка из списка XML-элементов с JAXB
<thing>
<attr name="one">first</attr>
<attr name="two">second</attr>
<attr name="three">third</attr>
</thing>
У меня есть классы JAXB, которые настроены таким образом:
public class Thing {
List<Attribute> attr = new ArrayList<Attribute>();
@XmlElement(name="attr")
public List<Attribute> getAttr() { return this.attr; }
public void setAttr(List<Attribute> attr) { this.attr = attr; }
}
public class Attribute {
String value;
String name;
@XmlAttribute
public String getName() { return this.name; }
public void setName(String name) { this.name = name; }
@XmlElement
public String getValue() { return this.value;}
public void setValue(String value) { this.value = value; }
}
Когда я распаковать документ, если я петлю над for (Attribute a : thing.getAttr())
делает a.getName()
, он печатает «один», «два», «три», но a.getValue()
просто равен нулю.
Я комментирую это неправильно? Даже если я установил аннотацию на @XmlElement(name="attr")
, это похоже на то же самое.
Спасибо, я совершенно забыл, что вещь XmlValue даже существовала по какой-то причине. – MichaelB