XML的增删改查

前端之家收集整理的这篇文章主要介绍了XML的增删改查前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. <h3 style="padding: 0px; margin: 0px 0px 2px; font-size: 10pt; color: rgb(0,102,0); font-family: 微软雅黑,Verdana,sans-serif,宋体;">XMLUtil.java文件</h3>
  1. package XMLcrud;
  2. import java.io.FileOutputStream;
  3. import java.io.InputStream;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import org.dom4j.Document;
  7. import org.dom4j.Element;
  8. import org.dom4j.io.OutputFormat;
  9. import org.dom4j.io.SAXReader;
  10. import org.dom4j.io.XMLWriter;
  11. public class XMLUtil {
  12. private static String fileURL="/user.xml";
  13. /**
  14. * 获取XML中所有的用户信息
  15. * @return
  16. */
  17. public static List<User> getAllUser(){
  18. Document document=getDocument();
  19. Element rootElement=document.getRootElement();
  20. List<Element> userElements=rootElement.elements();
  21. List<User> users=new ArrayList<User>();
  22. for (Element userElement : userElements) {
  23. User user=new User();
  24. user.setId(userElement.attributeValue("id"));
  25. user.setName(userElement.element("name").getTextTrim());
  26. user.setAge(userElement.element("age").getTextTrim());
  27. users.add(user);
  28. }
  29. return users;
  30. }
  31. /**
  32. * 向XML文件添加一个user
  33. * @param user
  34. */
  35. public static void add(User user){
  36. Document document=getDocument();
  37. Element rootElement=document.getRootElement();
  38. Element userElement=rootElement.addElement("user");
  39. userElement.addAttribute("id",getMaxId()+1+"");
  40. Element nameElement=userElement.addElement("name");
  41. Element ageElement=userElement.addElement("age");
  42. nameElement.setText(user.getName());
  43. ageElement.setText(user.getAge());
  44. write2XML(document);
  45. }
  46. /**
  47. * 根据id删除user
  48. * @param id
  49. */
  50. public static void deleteById(String id){
  51. Document document=getDocument();
  52. Element rootElement=document.getRootElement();
  53. List<Element> userElements=rootElement.elements("user");
  54. for (Element userElement : userElements) {
  55. if(userElement.attributeValue("id").equals(id)){
  56. System.out.println("开始删除.....");
  57. rootElement.remove(userElement);
  58. System.out.println("删除结束.....");
  59. }
  60. }
  61. write2XML(document);
  62. }
  63. /**
  64. * 修改user信息
  65. * @param user
  66. */
  67. public static void update(User user){
  68. Document document=getDocument();
  69. Element rootElement=document.getRootElement();
  70. List<Element> userElements=rootElement.elements();
  71. for (Element userElement : userElements) {
  72. if(userElement.attributeValue("id").equals(user.getId())){
  73. List<Element> elements=userElement.elements();
  74. userElement.element("name").setText(user.getName());
  75. userElement.element("age").setText(user.getAge());
  76. }
  77. }
  78. write2XML(document);
  79. }
  80. /**
  81. * 获取根节点
  82. * @return rootElement
  83. */
  84. public static Document getDocument(){
  85. try {
  86. SAXReader saxReader=new SAXReader();
  87. InputStream in=OperateXML.class.getResourceAsStream("/user.xml");
  88. Document document=saxReader.read(in);
  89. return document;
  90. } catch (Exception e) {
  91. e.printStackTrace();
  92. throw new RuntimeException(e);
  93. }
  94. }
  95. /**
  96. * 把内容写到XML文件
  97. * @param document
  98. */
  99. public static void write2XML(Document document){
  100. try {
  101. OutputFormat format=new OutputFormat(" ",true,"utf-8");
  102. format.setTrimText(true);
  103. XMLWriter writer = new XMLWriter(format);
  104. writer.setOutputStream(new FileOutputStream("src"+fileURL));
  105. writer.write(document);
  106. writer.close();
  107. } catch (Exception e) {
  108. e.printStackTrace();
  109. throw new RuntimeException(e);
  110. }
  111. }
  112. /**
  113. * 获取xml文件中userId的最大值
  114. * @return int
  115. */
  116. public static int getMaxId(){
  117. int maxId=0;
  118. Document document=getDocument();
  119. Element rootElement=document.getRootElement();
  120. List<Element> userElements=rootElement.elements();
  121. for (Element element : userElements) {
  122. int id=Integer.valueOf(element.attributeValue("id"));
  123. if(maxId<id){
  124. maxId=id;
  125. }
  126. }
  127. return maxId;
  128. }
  129. }

User.java文件

  1. package XMLcrud;
  2. public class User {
  3. private String id;
  4. private String name;
  5. private String age;
  6. public String getId() {
  7. return id;
  8. }
  9. public void setId(String id) {
  10. this.id = id;
  11. }
  12. public String getName() {
  13. return name;
  14. }
  15. public void setName(String name) {
  16. this.name = name;
  17. }
  18. public String getAge() {
  19. return age;
  20. }
  21. public void setAge(String age) {
  22. this.age = age;
  23. }
  24. @Override
  25. public String toString() {
  26. return "User [id=" + id + ",name=" + name + ",age=" + age + "]";
  27. }
  28. }

user.xml文件
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <users>
  3. <user id="1">
  4. <name>张三</name>
  5. <age>18</age>
  6. </user>
  7. <user id="2">
  8. <name>李四</name>
  9. <age>10</age>
  10. </user>
  11. </users>

猜你在找的XML相关文章