1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
| package packXML;
import java.io.File;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
class Customer {
String name;
int age;
int id;
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
@XmlElement
public void setAge(int age) {
this.age = age;
}
public int getId() {
return id;
}
@XmlAttribute
public void setId(int id) {
this.id = id;
}
}
public class CreationXML {
public static void creerXML(List<Customer> c) throws JAXBException {
try {
File file = new File("C:/tmp/file.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
// output pretty printed
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
Iterator iterator = c.iterator();
while (iterator.hasNext()) {
jaxbMarshaller.marshal(iterator.next(), file);
}
} catch (JAXBException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws JAXBException {
Customer c1 = new Customer();
c1.setId(100);
c1.setName("mkyong");
c1.setAge(29);
Customer c2 = new Customer();
c2.setId(200);
c2.setName("mkyong2");
c2.setAge(292);
List<Customer> l = new LinkedList();
l.add(c1);
l.add(c2);
creerXML(l);
}
} |