您现在的位置是:首页 >精选问答 > 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、}

本文到此讲解完毕了,希望对大家有帮助。