如何使用JAXB在ArrayList中添加属性和值标记?

时间:2013-03-15 12:55:49

标签: java arraylist jaxb

我是JAXB的新手。我想为多个arraylist添加属性。

例如

package com.test;

import java.util.ArrayList;

import javax.xml.bind.annotation.*;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement
public class UsingPath {

    @XmlAttribute
    protected ArrayList<String> type;

    @XmlAttribute
    protected ArrayList<String> gender;

    public ArrayList<String> gettype(){
        return type;
    }
    public void settype(ArrayList<String> type){
        this.type=type;
    }
    public ArrayList<String> getgender(){
        return gender;
    }
    public void setgender(ArrayList<String> gender){
        this.gender=gender;
    }
}


package com.test;
import java.util.ArrayList;


import javax.xml.bind.*;

public class Sample {

        public static void main(String[] args) throws Exception {


            UsingPath use=new UsingPath();
            ArrayList<String> dd=new ArrayList<String>();
            dd.add("MALE");
            dd.add("FEMALE");
            use.setgender(dd);
            ArrayList<String> dd1=new ArrayList<String>();
            dd1.add("all");
            dd1.add("none");
            use.settype(dd1);

            JAXBContext jc = JAXBContext.newInstance(UsingPath.class);
            Marshaller marshaller = jc.createMarshaller();
            marshaller.marshal(use,System.out);

        }
}

在上面的代码中产生以下输出:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<usingPath gender="MALE FEMALE" type="all none"/>

但预期产出为:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<usingPath gender="MALE" type="all>
<usingPath gender="FEMALE" type="none"/>

如何为多个arraylist标签添加属性和值?

0 个答案:

没有答案