本文共 3429 字,大约阅读时间需要 11 分钟。
一。原本的xml类似这个样的
-二。输出显示在控制台上 需要导入dom4j包- - 王通 java 89 李佳 sql 58
import java.io.File;import java.util.List;import org.dom4j.Document;//注意导的包不要导错了。!!!import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class Test4 {public static void main(String[] args) { try { SAXReader reader=new SAXReader(); Document document=reader.read(new File("src/Student.xml")); Element root=document.getRootElement();//得到根节点 List三 。新增信息导xml。本题先创建了一个学生类elementlistList=root.elements("student");//root.elements()是数组类型的 //遍历集合使用相关节点 for (Element stuElement:elementlistList ) { //获得元素的属性 String idString=stuElement.attributeValue("id"); //获取元素的字元素的文本值 String name=stuElement.elementText("name"); String subject=stuElement.elementText("subject"); String score=stuElement.elementText("score"); System.out.printf("学生的id是:%S,学生的姓名是:%S,学会生的课程是:%S,学生的分数是:%S",idString, name,subject,score); System.out.println( ); } } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); }}}
public class Student {int id;String name;String subject;int score;public int getId() { return id;}public void setId(int id) { this.id = id;}public String getName() { return name;}public void setName(String name) { this.name = name;}public String getSubject() { return subject;}public void setSubject(String subject) { this.subject = subject;}public int getScore() { return score;}public void setScore(int score) { this.score = score;}public Student(int id, String name, String subject, int score) { super(); this.id = id; this.name = name; this.subject = subject; this.score = score;}}下面是信息录入程序
import java.io.File;import java.io.FileWriter;import java.io.IOException;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;public class AddElement { public static void main(String[] args) { try { Student stu = new Student(3, "张三", "php", 99); // 创建saxReady对象 SAXReader reader = new SAXReader(); // 通过read方法读取一个文件,转换成Doucement对象 Document document = reader.read(new File("src/Student.xml")); // 获得根节点元素,目标元素为Students Element rootElement = document.getRootElement(); // 添加一个student节点到students中 Element student = rootElement.addElement("student");// 属性值赋值有点变态哦 student.addAttribute("id", stu.getId() + "");// 这里的参数类型是String的,如果student类中不定义Integer类型的 // 为studnet增加name,subject,score的子元素 Element name = student.addElement("name");// 增加一个name元素 name.setText(stu.getName());// 为name元素赋文本值 ,为student的name Element subject = student.addElement("subject"); subject.setText(stu.subject); Element score = student.addElement("score"); score.setText(stu.score + ""); // 将编辑好的Document对象写回scores.xml文件 OutputFormat format = OutputFormat.createPrettyPrint(); // 设置编码集 format.setEncoding("UTF-8"); // 创建XMLWriter高级流 XMLWriter write = new XMLWriter(new FileWriter("src/Student.xml"), format); write.write(document); write.flush(); write.close(); System.out.println("编辑完成!"); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
转载地址:http://rlrqj.baihongyu.com/