• 您現在的位置是:首頁 >精選問答 > 2024-01-09 11:00:27 來源:

    as a result of(resulttransformer)

    導讀 大家好,我是小夏,我來為大家解答以上問題。as a result of,resulttransformer很多人還不知道,現在讓我們一起來看看吧!1、package ...

    大家好,我是小夏,我來為大家解答以上問題。as a result of,resulttransformer很多人還不知道,現在讓我們一起來看看吧!

    1、package xml;

    2、public class Person {

    3、private String name ;

    4、private int age ;

    5、public Person(String name, int age) {

    6、 super();

    7、 this.name = name;

    8、 this.age = age;

    9、}

    10、public String getName() {

    11、 return name;

    12、}

    13、public void setName(String name) {

    14、 this.name = name;

    15、}

    16、public int getAge() {

    17、 return age;

    18、}

    19、public void setAge(int age) {

    20、 this.age = age;

    21、}

    22、}

    23、測試程序

    24、[java] view plaincopy

    25、package xml;

    26、import java.io.FileOutputStream;

    27、import java.io.PrintWriter;

    28、import java.util.Arrays;

    29、import java.util.Collections;

    30、import java.util.List;

    31、import javax.xml.parsers.DocumentBuilder;

    32、import javax.xml.parsers.DocumentBuilderFactory;

    33、import javax.xml.parsers.ParserConfigurationException;

    34、import javax.xml.transform.OutputKeys;

    35、import javax.xml.transform.Transformer;

    36、import javax.xml.transform.TransformerFactory;

    37、import javax.xml.transform.dom.DOMSource;

    38、import javax.xml.transform.stream.StreamResult;

    39、import org.w3c.dom.Document;

    40、import org.w3c.dom.Element;

    41、public class XmlGeneratorDemo {

    42、public static void main(String[] args) {

    43、 String outputPath = "src/xml/parser/persons.xml";

    44、 generateXml(outputPath);

    45、}

    46、public static void generateXml(String outputPath) {

    47、 try {

    48、 Person [] arr = new Person[]{new Person("jinbo",20), new Person("gameboy",25)};

    49、 List<Person> list = Arrays.asList(arr);//將數組轉換成List

    50、 Document doc = generateXml(list);//生成XML文件

    51、 outputXml(doc, outputPath);//將文件輸出到指定的路徑

    52、 } catch (Exception e) {

    53、 System.err.println("出現異常");

    54、 }

    55、}

    56、/**

    57、 * 將XML文件輸出到指定的路徑

    58、 * @param doc

    59、 * @param fileName

    60、 * @throws Exception

    61、 */

    62、private static void outputXml (Document doc, String fileName) throws Exception{

    63、 TransformerFactory tf = TransformerFactory.newInstance();

    64、 Transformer transformer = tf.newTransformer();

    65、 DOMSource source = new DOMSource(doc);

    66、 transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

    67、 transformer.setOutputProperty(OutputKeys.INDENT, "yes");//設置文檔的換行與縮進

    68、 PrintWriter pw = new PrintWriter(new FileOutputStream(fileName));

    69、 StreamResult result = new StreamResult(pw);

    70、 transformer.transform(source, result);

    71、 System.out.println("生成XML文件成功!");

    72、}

    73、/**

    74、 * 生成XML文件

    75、 * @param list

    76、 * @return

    77、 */

    78、public static Document generateXml(List<Person> list){

    79、 Document doc = null;

    80、 Element root = null;

    81、 try {

    82、 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

    83、 DocumentBuilder builder = factory.newDocumentBuilder();

    84、 doc = builder.newDocument();

    85、 root = doc.createElement("person");

    86、 doc.appendChild(root);

    87、 } catch (Exception e) {

    88、 e.printStackTrace();

    89、 return null;//如果出現異常,則不再往下執行

    90、 }

    91、 int len = list.size() ;

    92、 Element element ;

    93、 for (int i = 0; i < len; i++) {

    94、 Person person = list.get(i);

    95、 element = doc.createElement("person"+(i+1));

    96、 element.setAttribute("age", ""+person.getAge());

    97、 element.setAttribute("name", person.getName());

    98、 root.appendChild(element);

    99、 }

    100、 return doc;

    101、}

    102、}

    本文到此講解完畢了,希望對大家有幫助。

  • 成人app