我正在尝试使用JAXB将此xml映射到我的模式类中。我搜索了许多解决方案。但是以某种方式,这没有用。每次将这个xml映射到我的模型类时,我都会得到
1个IllegalAnnotationExceptions计数
<body>
<i>
<f name="name">test name</f>
<f name="address">test address</f>
<f name="phone">test phone</f>
</i>
</body>
这是我的模型课
@XmlRootElement(name = "body")
public class body {
// XmLElementWrapper generates a wrapper element around XML representation
@XmlElementWrapper(name = "i")
// XmlElement sets the name of the entities
@XmlElement(name = "f")
private ArrayList<f> f;
public ArrayList<f> getF() {
return f;
}
public void setF(ArrayList<f> f) {
this.f = f;
}
@XmlRootElement(name = "f")
public static class f {
String name;
public String getName() {
return name;
}
@XmlAttribute(name = "name")
public void setName(String name) {
this.name = name;
}
}
}
这就是我直接访问的方式:
InputSource inputSource = new InputSource(new StringReader(inputXml));
// map xml to model class in jaxb
JAXBContext jaxbContext = JAXBContext.newInstance(Modal.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Modal modal = (Modal) jaxbUnmarshaller.unmarshal(inputSource);
我想念什么?还有一种方法可以访问“ f”节点的值?谢谢。