<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person personName="xiongjiajia">
<personAge>24</personAge>
<address>Zhengzhou</address>
<skills id="1">
<name>Java</name>
<level>4</level>
</skills>
<skills id="2">
<name>Linux</name>
<level>3</level>
</skills>
</person>
[color=green]Person.java[/color]
import java.util.List;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Person {
@XmlAttribute
private String personName;
@XmlElement
private int personAge;
@XmlElement
private String address;
@XmlElement
private List<Skill> skills;
//只需要GET方法
public String getPersonName() {
return personName;
}
public int getPersonAge() {
return personAge;
}
public String getAddress() {
return address;
}
public List<Skill> getSkills() {
return skills;
}
public Person(){}
public Person(String personName, int personAge,
String address,List<Skill> skills) {
super();
this.personName = personName;
this.personAge = personAge;
this.address=address;
this.skills=skills;
}
}
[color=green]Skill[/color]
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
public class Skill {
@XmlAttribute
private int id;
@XmlElement
private String name;
@XmlElement
private int level;
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getLevel() {
return level;
}
public Skill(){}
public Skill(int id, String name,int level) {
super();
this.id = id;
this.name = name;
this.level=level;
}
}
[color=green]JavaToXml.java[/color]
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
public class JavaToXml {
/**
* @param args
* @throws JAXBException
* @throws IOException
*/
public static void main(String[] args) throws JAXBException, IOException {
// TODO Auto-generated method stub
JAXBContext context = JAXBContext.newInstance(Person.class);
Marshaller m = context.createMarshaller();
List<Skill> skills = new ArrayList<Skill>();
skills.add(new Skill(1, "Java", 4));
skills.add(new Skill(2, "Linux", 3));
Person p = new Person("xiongjiajia", 24, "Zhengzhou", skills);
FileWriter fw = new FileWriter("E:\\person.xml");
m.marshal(p, fw);
System.out.println("success!");
}
}
[color=green]XmlToJava [/color]
import java.io.FileNotFoundException;
import java.io.FileReader;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
public class XmlToJava {
/**
* @param args
* @throws JAXBException
* @throws FileNotFoundException
*/
public static void main(String[] args) throws JAXBException,
FileNotFoundException {
// TODO Auto-generated method stub
JAXBContext context = JAXBContext.newInstance(Person.class);
FileReader fr = new FileReader("E:\\person.xml");
Unmarshaller um = context.createUnmarshaller();
Person p = (Person) um.unmarshal(fr);
System.out.println(p.getAddress());
System.out.println(p.getSkills().get(1).getName());
System.out.println("success!");
}
}