如何在JAXB中添加多个值? import javax.xml.bind.annotation.xmlement; 公共类Test1{ 私有字符串类型; 私有字符串值; @xmlement(name=“type”) 公共最终字符串getType(){ 返回类型; } 公共最终void集合类型(最终字符串类型){ this.Type=Type; } @xmlement(name=“value”) 公共最终字符串getValue(){ 返回值; } 公共最终无效设置值(最终字符串值){ 这个值=值; } } 导入java.util.ArrayList; 导入javax.xml.bind.annotation.xmlement; 导入javax.xml.bind.annotation.XmlElementWrapper; 导入javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name=“test”) 公共类Test2{ ArrayList test1; @XmlElementWrapper(name=“users”) @xmlement(name=“user”) 公共最终数组列表getUser(){ 返回test1; } 公共最终作废设置用户(最终数组列表mm){ 这个。test1=mm; } } 导入java.util.ArrayList; 导入javax.xml.bind.JAXBContext; 导入javax.xml.bind.JAXBException; 导入javax.xml.bind.Marshaller; 导入com.covidien.laptopagent.xml.XMLUserLogin; 公开课考试{ 公共静态void main(字符串agrs[]){ Test1 Test1=新的Test1(); test1.setType(“100”); test1.设置值(“无”); test1.setType(“101”); 测试1.设定值(“正常”); ArrayList permfile=新的ArrayList(); 添加(test1); ArrayListtest2=新的ArrayList(); Test2 test2obj=新的Test2(); test2obj.setuser(permfile); JAXBContext上下文; 试一试{ context=JAXBContext.newInstance(XMLUserLogin.class); Marshaller m=context.createMarshaller(); m、 setProperty(Marshaller.JAXB_格式的_输出,Boolean.TRUE); m、 编组(test2,System.out); System.out.println(); }捕获(JAXBEException e){ //TODO自动生成的捕捉块 e、 printStackTrace(); } } }
例外输出:如何在JAXB中添加多个值? import javax.xml.bind.annotation.xmlement; 公共类Test1{ 私有字符串类型; 私有字符串值; @xmlement(name=“type”) 公共最终字符串getType(){ 返回类型; } 公共最终void集合类型(最终字符串类型){ this.Type=Type; } @xmlement(name=“value”) 公共最终字符串getValue(){ 返回值; } 公共最终无效设置值(最终字符串值){ 这个值=值; } } 导入java.util.ArrayList; 导入javax.xml.bind.annotation.xmlement; 导入javax.xml.bind.annotation.XmlElementWrapper; 导入javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name=“test”) 公共类Test2{ ArrayList test1; @XmlElementWrapper(name=“users”) @xmlement(name=“user”) 公共最终数组列表getUser(){ 返回test1; } 公共最终作废设置用户(最终数组列表mm){ 这个。test1=mm; } } 导入java.util.ArrayList; 导入javax.xml.bind.JAXBContext; 导入javax.xml.bind.JAXBException; 导入javax.xml.bind.Marshaller; 导入com.covidien.laptopagent.xml.XMLUserLogin; 公开课考试{ 公共静态void main(字符串agrs[]){ Test1 Test1=新的Test1(); test1.setType(“100”); test1.设置值(“无”); test1.setType(“101”); 测试1.设定值(“正常”); ArrayList permfile=新的ArrayList(); 添加(test1); ArrayListtest2=新的ArrayList(); Test2 test2obj=新的Test2(); test2obj.setuser(permfile); JAXBContext上下文; 试一试{ context=JAXBContext.newInstance(XMLUserLogin.class); Marshaller m=context.createMarshaller(); m、 setProperty(Marshaller.JAXB_格式的_输出,Boolean.TRUE); m、 编组(test2,System.out); System.out.println(); }捕获(JAXBEException e){ //TODO自动生成的捕捉块 e、 printStackTrace(); } } },java,jaxb,Java,Jaxb,例外输出: import javax.xml.bind.annotation.XmlElement; public class Test1 { private String Type; private String value; @XmlElement(name="type") public final String getType(){ retur
import javax.xml.bind.annotation.XmlElement;
public class Test1 {
private String Type;
private String value;
@XmlElement(name="type")
public final String getType(){
return Type;
}
public final void setType(final String type){
this.Type=type;
}
@XmlElement(name="value")
public final String getValue(){
return value;
}
public final void setValue(final String value) {
this.value = value;
}
}
import java.util.ArrayList;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="test")
public class Test2 {
ArrayList<Test1> test1;
@XmlElementWrapper(name="users")
@XmlElement(name="user")
public final ArrayList<Test1> getUser(){
return test1;
}
public final void setUser(final ArrayList<Test1> mm){
this.test1=mm;
}
}
import java.util.ArrayList;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import com.covidien.laptopagent.xml.XMLUserLogin;
public class TEST {
public static void main(String agrs[]){
Test1 test1=new Test1();
test1.setType("100");
test1.setValue("none");
test1.setType("101");
test1.setValue("ok");
ArrayList<Test1> permfile=new ArrayList<Test1>();
permfile.add(test1);
ArrayList<Test2>test2 =new ArrayList<Test2>();
Test2 test2obj=new Test2();
test2obj.setuser(permfile);
JAXBContext context;
try {
context = JAXBContext.newInstance(XMLUserLogin.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
m.marshal(test2, System.out);
System.out.println();
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
......
100
没有一个
101
好啊
...............
...............
但它只返回user的一个值:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<test>
......
<users>
<user>
<type>100</type>
<value>none</value>
</user>
<user>
<type>101</type>
<value>ok</value>
</user>
</users>
...............
...............
</test>
......
100
没有一个
...............
...............
如何解决这个问题?谁能帮帮我我做错了什么
谢谢像这样修复代码
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<test>
......
<users>
<user>
<type>100</type>
<value>none</value>
</user>
</users>
...............
...............
</test>
test1user1=newtest1();
user1.setType(“100”);
user1.setValue(“无”);
Test1 user2=newtest1();
user2.setType(“101”);
user2.setValue(“ok”);
ArrayList permfile=新的ArrayList();
permfile.add(user1);
permfile.add(user2);
Test1 user1=new Test1();
user1.setType("100");
user1.setValue("none");
Test1 user2=new Test1();
user2.setType("101");
user2.setValue("ok");
ArrayList<Test1> permfile=new ArrayList<Test1>();
permfile.add(user1);
permfile.add(user2);