java生成XML文件
通过java生成XML文件,在很多场合都会用到。比如:做android应用的时候,有很多数据,都是通过服务端生成的XML文件,再解析XML文件里的数据。
下面是通过JAVA生成XML文件的代码:
import java.util.ArrayList;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;
/**
* 生成XML文件
***/
public class XmlUtils {
/**
* 根据List列表封装成XML数据
* @return 返回封装后的数据
*/
public static String getXmlFromList(List beanList) {
String result = "";
Element root = new Element("user-list");
Document doc = new Document(root);
for (User user : beanList) {
Element element = new Element("user");
element.addContent(new Element("userId").setText(String.valueOf(user.getUserId())));
element.addContent(new Element("userName").setText(user.getUserName()));
element.addContent(new Element("email").setText(user.getEmail()));
root.addContent(element);
}
XMLOutputter XMLOut = new XMLOutputter();
try {
/**
* 输出XML数据
*/
result = XMLOut.outputString(doc);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
User u1 = new User(1,"张三","");
User u2 = new User(2,"李四","");
User u3 = new User(3,"王五","");
List userList = new ArrayList();
userList.add(u1);
userList.add(u2);
userList.add(u3);
/**
* 根据List数组,生成XML数据
*/
String resultXml = getXmlFromList(userList);
/**
* 打印生成的XML数据
*/
System.out.println(resultXml);
}
}
POJO类:
public class User {
private int userId;
private String userName;
private String email;
public User(int userId, String userName, String email) {
super();
this.userId = userId;
this.userName = userName;
this.email = email;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
生成后的XML文件如下:
1
张三
user1@xxx.com
2
李四
user2@xxx.com
3
王五
user3@xxx.com
备注:其中会用到jdom.jar包。