JAVA生成XML文件

来源:互联网 发布:ping的端口号是多少 编辑:程序博客网 时间:2024/04/30 17:12
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">Java Bean</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="java">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;}}
测试程序
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;"></span></span><pre name="code" class="java">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;  }  }  


                                             
0 0
原创粉丝点击