• 首次接触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 }
  • 相关阅读:
    OC中nil、Nil、NULL、NSNull的区别
    SOJ 1050. Numbers & Letters
    SOJ 1009. Mersenne Composite N
    SOJ 1006. Team Rankings
    SOJ 1036. Crypto Columns
    SOJ 1151. 魔板
    SOJ 1007. To and Fro
    SOJ 1150.简单魔板
    SOJ 1051 Biker's Trip Odometer
    SOJ 1176 Two Ends
  • 原文地址:https://www.cnblogs.com/sunflower627/p/2760388.html
Copyright © 2020-2023  润新知