浅水微渤 2016-01-22 13:39 采纳率: 100%
浏览 2103
已采纳

关于JAXB生成XML的小问题

我需要用JAXB生成如下的XML文件
图片说明
但是无法加入图中的属性type。
我的代码如下:
package Task2.Generated;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"food"
})
@XmlRootElement(name = "menu")
public class Menu {

@XmlElement(required = true)
protected List<Menu.Food> food;

public List<Menu.Food> getFood() {
    if (food == null) {
        food = new ArrayList<Menu.Food>();
    }
    return this.food;
}

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "name",
    "price",
    "description",
    "calories",
    //"type"
})
public static class Food {
    //private String type;  

    @XmlElement(required = true)
    protected String name;
    @XmlElement(defaultValue = "1")
    protected float price;
    @XmlElement(required = true, defaultValue = "")
    protected String description;
    protected int calories;
    @XmlAttribute(name = "category", required = true)
    protected String category;
    @XmlAttribute(name = "type", required = true)
    protected String type;
    public String getName() {
        return name;
    }
    public void setName(String value) {
        this.name = value;
    }
    public float getPrice() {
        return price;
    }
    public void setPrice(float value) {
        this.price = value;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String value) {
        this.description = value;
    }
    public int getCalories() {
        return calories;
    }
    public void setCalories(int value) {
        this.calories = value;
    }

    public String getCategory() {
        return category;
    }
    public void setCategory(String value) {
        this.category = value;
    }




    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {

        "type"
    })
    public static class Description {
        //private String type;  


        @XmlAttribute(name = "type", required = true)
        protected String type;
        public String getType() {
            return type;
        }
        public void setType(String value) {
            this.type = value;
        }
  }
}

}

展开全部

  • 写回答

4条回答 默认 最新

  • 浅水微渤 2016-01-27 16:16
    关注

    自己做出了了,就是加个class

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部