输出数据到xml文件(java实现)

前端之家收集整理的这篇文章主要介绍了输出数据到xml文件(java实现)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. package com.xiuye.utils;
  2.  
  3. import java.io.File;
  4. import java.io.FileNotFoundException;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. import java.io.UnsupportedEncodingException;
  8. import java.util.Random;
  9.  
  10. import org.dom4j.Document;
  11. import org.dom4j.DocumentHelper;
  12. import org.dom4j.Element;
  13. import org.dom4j.io.OutputFormat;
  14. import org.dom4j.io.XMLWriter;
  15.  
  16. public class OutputEmpListXml {
  17.  
  18. public static void main(String[] args) {
  19.  
  20. // prepare char's array to generate random name
  21. char letters[] = new char[54];
  22. letters[0] = ' ';
  23. letters[1] = '-';
  24. // a~z
  25. for (int i = 0 + 2,j = 0; i < 26 + 2 && j < 26; i++,j++) {
  26. letters[i] = (char) ('a' + j);
  27. }
  28. // A~Z
  29. for (int i = 0 + 2 + 26,j = 0; i < 26 + 2 + 26 && j < 26; i++,j++) {
  30. letters[i] = (char) ('A' + j);
  31. }
  32.  
  33. String sexs[] = { "man","woman" };
  34.  
  35. Random rnd = new Random();
  36. // the whole xml file
  37. Document doc = DocumentHelper.createDocument();
  38. /**
  39. * only one root node,if not,IllegalAddException
  40. *
  41. */
  42. // node root
  43. Element root = doc.addElement("emp-list");
  44. for (int i = 0; i < 1000; i++) {
  45. // node emp
  46. Element emp = root.addElement("emp");
  47. int id = rnd.nextInt(9999999);
  48. // emp's attribute id
  49. emp.addAttribute("id",Integer.toString(id));
  50. // node name
  51. Element name = emp.addElement("name");
  52. name.setText(generateRandomName(letters));
  53. // node age
  54. Element age = emp.addElement("age");
  55. // node geneder
  56. Element geneder = emp.addElement("geneder");
  57. // node salary
  58. Element salary = emp.addElement("salary");
  59. // random age
  60. int ageInt = rnd.nextInt(100);
  61. age.setText(Integer.toString(ageInt));// first way "int -> String"
  62. // random sex
  63. int index = rnd.nextInt(2);
  64. geneder.setText(sexs[index]);
  65. // random salary
  66. int money = rnd.nextInt(10000000);
  67. salary.setText("" + money);// second way "int -> String"
  68. }
  69. try {
  70. FileOutputStream out = new FileOutputStream("EmpList.xml");
  71. OutputFormat format = OutputFormat.createPrettyPrint();
  72. XMLWriter xmlw = new XMLWriter(out,format);
  73. xmlw.write(doc);
  74. xmlw.close();
  75. } catch (FileNotFoundException e) {
  76. e.printStackTrace();
  77. } catch (UnsupportedEncodingException e) {
  78. e.printStackTrace();
  79. } catch (IOException e) {
  80. e.printStackTrace();
  81. }
  82. System.out.println("that's over!");
  83. }
  84.  
  85. // get a simple random name
  86. private static String generateRandomName(char[] letters) {
  87. //String name = null;
  88. /**
  89. * name cannot be bull,beacause of
  90. * null += "ABC";=> nullABC
  91. * it's not my wanted.
  92. *
  93. */
  94. String name = "";
  95. int nameLength = (int) (Math.random() * letters.length) + 1;
  96. for (int i = 0; i < nameLength; i++) {
  97. int index = (int) (Math.random() * letters.length);
  98. name += "" + letters[index];
  99. }
  100.  
  101. return name;
  102.  
  103. }
  104.  
  105. }

猜你在找的XML相关文章