首页 > 其他 > 详细

Java生成xml文件

时间:2014-02-17 23:06:52      阅读:428      评论:0      收藏:0      [点我收藏+]

JavaBean:

 

package xml; 
 
public class Person { 
private String name ; 
private int age ; 
 
 
public Person(String name, int age) { 
  super(); 
  this.name = name; 
  this.age = age; 

 
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; 

 
}

 

*****

Java source:

 

 

package xml; 
 
import java.io.FileOutputStream; 
import java.io.PrintWriter; 
import java.util.Arrays; 
import java.util.Collections; 
import java.util.List; 
import javax.xml.parsers.DocumentBuilder; 
import javax.xml.parsers.DocumentBuilderFactory; 
import javax.xml.parsers.ParserConfigurationException; 
import javax.xml.transform.OutputKeys; 
import javax.xml.transform.Transformer; 
import javax.xml.transform.TransformerFactory; 
import javax.xml.transform.dom.DOMSource; 
import javax.xml.transform.stream.StreamResult; 
import org.w3c.dom.Document; 
import org.w3c.dom.Element; 
 
public class XmlGeneratorDemo { 
public static void main(String[] args) { 
  String outputPath = "src/xml/parser/persons.xml"; 
  generateXml(outputPath); 

public static void generateXml(String outputPath) { 
  try { 
   Person [] arr = new Person[]{new Person("jinbo",20), new Person("gameboy",25)}; 
   List<Person> list = Arrays.asList(arr);//将数组转换成List  
   Document doc = generateXml(list);//生成XML文件  
   outputXml(doc, outputPath);//将文件输出到指定的路径  
  } catch (Exception e) { 
   System.err.println("出现异常"); 
  } 

/**
  * 将XML文件输出到指定的路径
  * @param doc
  * @param fileName
  * @throws Exception
  */ 
private static void outputXml (Document doc, String fileName) throws Exception{ 
  TransformerFactory tf = TransformerFactory.newInstance(); 
  Transformer transformer = tf.newTransformer(); 
  DOMSource source = new DOMSource(doc); 
  transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); 
  transformer.setOutputProperty(OutputKeys.INDENT, "yes");//设置文档的换行与缩进  
  PrintWriter pw = new PrintWriter(new FileOutputStream(fileName)); 
  StreamResult result = new StreamResult(pw); 
  transformer.transform(source, result); 
  System.out.println("生成XML文件成功!"); 

/**
  * 生成XML文件
  * @param list
  * @return
  */ 
public static Document generateXml(List<Person> list){ 
  Document doc = null; 
  Element root = null; 
  try { 
   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
   DocumentBuilder builder = factory.newDocumentBuilder(); 
   doc = builder.newDocument(); 
   root = doc.createElement("person"); 
   doc.appendChild(root); 
  } catch (Exception e) { 
   e.printStackTrace(); 
   return null;//如果出现异常,则不再往下执行  
  } 
   
  int len = list.size() ; 
  Element element ; 
  for (int i = 0; i < len; i++) { 
   Person person = list.get(i); 
   element = doc.createElement("person"+(i+1)); 
   element.setAttribute("age", ""+person.getAge()); 
   element.setAttribute("name", person.getName()); 
   root.appendChild(element); 
  } 
  return doc; 


 

Java生成xml文件

原文:http://blog.csdn.net/katherinemiss/article/details/19336513

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!