我目前正在学习如何在android中使用Jaxb解析xml文件。但我不知道代码中有什么问题,以及在哪里以及如何纠正它。我无法解析XML并获取食品列表。如果我删除List并简单地将它写为Food,那么只有xml中的最后一个元素被解析,其余部分似乎被覆盖。请帮帮我。使用jaxb解析xml中的嵌套元素
我试图解析http://www.w3schools.com/xml/simple.xml,到目前为止,我有这样的代码:
----代码以进行解组XML
URL url = new URL("http://www.w3schools.com/xml/simple.xml");
InputSource is = new InputSource(url.openStream());
is.setEncoding("ISO-8859-1");
JAXBContext jaxbContext = JAXBContext.newInstance(BreakfastMenu.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
BreakfastMenu menu = (BreakfastMenu)jaxbUnmarshaller.unmarshal(is);
-----本类看起来 下----- Breakfast.java
@XmlRootElement(name="breakfast_menu")
public class BreakfastMenu {
private List<Food> food = new ArrayList<Food>();
public List<Food> getFood() {
return food;
}
@XmlElement(name="food")
public void setFood(List<Food> food) {
this.food = food;
}
}
---食品类
@XmlRootElement(name="food")
public class Food {
private String name;
private String description;
private String calories;
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
this.name = name;
}
//相同的描述和热量
P.S:我曾尝试this link too 感谢。
Android没有JAXB。 – CommonsWare
是的,先生,它doesnt,但我提到的plutext,有jaxb源码重新包装,(他们使用它的android docx到html转换),所以我设法重新打包成一个工作和使用它在android,引用openbeans,因为java.beans也是不允许在android –