我是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标签添加属性和值?