使用jaxb解析xml中的嵌套元素

老鼠来了料理鼠王

我目前正在学习如何在Android中使用Jaxb解析xml文件。但是我不知道代码中有什么错误,以及在哪里以及如何纠正它。我无法解析xml并获取食物列表。如果我删除List并将其简单地写为Food,则仅解析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;
}

//相同的描述和卡路里

PS:我也尝试过此链接,谢谢。

老鼠来了料理鼠王

解决问题感觉很好。对于可能最终遇到相同问题的其他任何人:以下是解决方案:

我将BreakfastMenu.class更改为

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="breakfast_menu")
public class BreakfastMenu {


@XmlElement(name="food", type=Food.class)
private List<Food> food  = new ArrayList<Food>();

public List<Food> getFood() {
    return food;
}

public void setFood(List<Food> food) {
this.food = food;
}
}

在Food.class中,我删除了@XMLElement批注,并添加了以下内容:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="food")
public class Food {
    // the other declarations remain
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用 JAXB 解析 Java 中嵌套的 XML 对象列表?

来自分类Dev

使用 JAXB 检索嵌套的 XML 元素值

来自分类Dev

使用JAXB从Java对象创建xml时,如何在JAXB中创建嵌套的根元素

来自分类Dev

使用Java解析XML文件中的嵌套元素

来自分类Dev

使用JAXB解析Xml叶子节点元素值

来自分类Dev

使用JAXB解析Xml叶子节点元素值

来自分类Dev

如何使用jaxb解析xml

来自分类Dev

如何使用jaxb解析xml

来自分类Dev

使用jaxb解组xml,列表中的元素丢失

来自分类Dev

Java如何使用JAXB注释在XML中添加子元素

来自分类Dev

使用元素名称中的空格解析XML

来自分类Dev

使用涉及元素列表的 JAXB 和 XML 注释时嵌套编组

来自分类Dev

在python中解析嵌套的xml

来自分类Dev

在 Python 中解析嵌套的 XML?

来自分类Dev

使用DOM解析器Java解析带有嵌套重复元素名称的xml文档。

来自分类Dev

使用DOM解析器Java解析具有嵌套重复元素名称的xml文档。

来自分类Dev

使用XMLin解析嵌套的XML

来自分类Dev

使用php解析嵌套的xml

来自分类Dev

使用documentBuilderFactory解析时如何管理xml中的嵌套循环

来自分类Dev

使用JAXB解析XML字符串

来自分类Dev

使用jaxb解析xml字符串

来自分类Dev

XML到JAXB的绑定具有嵌套元素?

来自分类Dev

JAXB忽略Response XML中的“多余”元素

来自分类Dev

使用minidom在xml文件中获取嵌套元素的问题

来自分类Dev

使用C#在XML的嵌套元素中获取文本

来自分类Dev

使用minidom在xml文件中获取嵌套元素的问题

来自分类Dev

解析 XML 时获取文本是否嵌套在额外元素中

来自分类Dev

使用Python解析xml文件中的特定元素

来自分类Dev

使用SQL Server 2012中缺少的元素解析XML内容

Related 相关文章

热门标签

归档