首次接触XML

准备:在E盘下新建一个.xml文件test.xml

   下载jdom-2.0.3.jar文件,放入项目lib目录下,并加入buildpath

View Code
  1 package com.slh.common;
  2 
  3 import java.io.File;
  4 import java.io.FileWriter;
  5 import java.util.Iterator;
  6 
  7 import org.jdom2.Document;
  8 import org.jdom2.Element;
  9 import org.jdom2.input.SAXBuilder;
 10 import org.jdom2.output.Format;
 11 import org.jdom2.output.XMLOutputter;
 12 
 13 public class TestXML {
 14   private File studentListFile;
 15   private Document doc;
 16   private Element rootElement;
 17   private final static XMLOutputter fmt = new XMLOutputter(
 18       Format.getPrettyFormat());
 19 
 20   public TestXML() throws Exception {
 21     init();
 22   }
 23 
 24   private void init() throws Exception {
 25     SAXBuilder builder = new SAXBuilder();
 26     studentListFile = new File("e:\\test.xml");
 27     doc = builder.build(studentListFile);
 28     rootElement = doc.getRootElement();
 29     System.out.println("rootElement:" + rootElement.getName());
 30   }
 31 
 32   public StringBuffer getStudentList() {
 33     StringBuffer students = new StringBuffer();
 34     String id, name, age, job, sex, student;
 35 
 36     for (Iterator<Element> it = rootElement.getChildren().iterator(); it.hasNext();) {
 37       Element child = it.next();
 38       Element idElement = child.getChild("id");
 39       Element nameElement = child.getChild("name");
 40       Element ageElement = child.getChild("age");
 41       Element jobElement = child.getChild("job");
 42       Element sexElement = child.getChild("sex");
 43 
 44       id = idElement.getText();
 45       name = nameElement.getText();
 46       age = ageElement.getText();
 47       job = jobElement.getText();
 48       sex = sexElement.getText();
 49 
 50       student = "    " + child.getName() + ":" + id + " " + name + " " + age + " "
 51                 + job + " " + sex + "\n";
 52       students.append(student);
 53     }
 54 
 55     return students;
 56   }
 57 
 58   public void addStudent(int id, String name, int age, String job, String sex)
 59       throws Exception {
 60     Element subElement1 = new Element("student");
 61     Element idElement = new Element("id");
 62     Element nameElement = new Element("name");
 63     Element ageElement = new Element("age");
 64     Element jobElement = new Element("job");
 65     Element sexElement = new Element("sex");
 66 
 67     subElement1.addContent(idElement);
 68     subElement1.addContent(nameElement);
 69     subElement1.addContent(ageElement);
 70     subElement1.addContent(jobElement);
 71     subElement1.addContent(sexElement);
 72 
 73     idElement.setText(Integer.valueOf(id).toString());
 74     nameElement.setText(name);
 75     ageElement.setText(Integer.valueOf(age).toString());
 76     jobElement.setText(job);
 77     sexElement.setText(sex);
 78 
 79     rootElement.addContent(subElement1);
 80     fmt.output(doc, new FileWriter(studentListFile));
 81   }
 82 
 83   public void delStudent(int id) throws Exception {
 84     for (Iterator<Element> it = rootElement.getChildren().iterator(); it.hasNext();) {
 85       Element child = it.next();
 86       String idElement = child.getChild("id").getText();
 87       if (idElement.equals(Integer.valueOf(id).toString())) {
 88         it.remove();
 89       }
 90     }
 91     fmt.output(doc, new FileWriter(studentListFile));
 92   }
 93 
 94   public void updateStudent(int id, String name, int age, String job, String sex)
 95       throws Exception {
 96     for (Iterator<Element> it = rootElement.getChildren().iterator(); it.hasNext();) {
 97       Element child = it.next();
 98       String idElement = child.getChild("id").getText();
 99       System.out.println(idElement);
100       if (idElement.equals(Integer.valueOf(id).toString())) {
101         child.getChild("name").setText(name);
102         child.getChild("age").setText(Integer.valueOf(age).toString());
103         child.getChild("job").setText(job);
104         child.getChild("sex").setText(sex);
105         break;
106       }
107     }
108     fmt.output(doc, new FileWriter(studentListFile));
109   }
110 
111   public static void main(String[] args) throws Exception {
112     TestXML testXML = new TestXML();
113     // System.out.println(testXML.getStudentList());
114     // testXML.addStudent(4, "slh4", 33, "waiter", "f");
115     // System.out.println(testXML.getStudentList());
116     // testXML.delStudent(4);
117     // System.out.println(testXML.getStudentList());
118     // testXML.updateStudent(4, "slh44", 33, "actor", "f");
119     System.out.println(testXML.getStudentList());
120   }
121 }
原文地址:https://www.cnblogs.com/sunflower627/p/2760388.html