首先定义Person测试类
public class Person {
String name;
int age;
String action;
public Person(String name, int age, String action) {
super();
this.name = name;
this.age = age;
this.action = action;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return super.toString();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
}
代码主要部分,生成xml文件,要使用到jdom,所以首先导入jdom到工程文件中。
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.output.XMLOutputter;
public class writeXML {
private String path="/src/";
protected File file;
protected Document doc;
public void writeXML() throws IOException, JDOMException{
Person [] arr = new Person[]{new Person("Jay",25,"kill"), new Person("Jack",23,"deny"),new Person("Artest",23,"deny")};
List<Person> list = Arrays.asList(arr);
Element root=new Element("persons");
Document doc=new Document(root);
for(int i=0;i<list.size();i++){
Element element=new Element("person");
element.setAttribute("name",list.get(i).getName());
element.addContent(new Element("age").setText(String.valueOf(list.get(i).getAge())));
element.addContent(new Element("action").setText(list.get(i).getAction()));
root.addContent(element);
}
XMLOutputter XMLOut = new XMLOutputter();
// 输出 user.xml 文件;
XMLOut.output(doc, new FileOutputStream("people.xml"));
}
}
生成的文件
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person name="Jay">
<age>25</age>
<action>kill</action>
</person>
<person name="Jack">
<age>23</age>
<action>deny</action>
</person>
<person name="Artest">
<age>23</age>
<action>deny</action>
</person>
</persons>