使用DOM4J解析XML文件

    xiaoxiao2023-10-01  153

    DOM4J解析xml

    概念:以一切皆对象的原则将xml当成一个对象,在程序中对对象进行进行增删改查的操作即达到了对xml文件进行增删改查的操作。 先讲述在建立好xml文件的基础上,对xml文件进行的操作 创建xml文件,以eclipse为例, 在src下 new>>other>>输入xml>>创建xml文件 xml文件(Student.xml) 代码片.

    <?xml version="1.0" encoding="UTF-8"?> <students> <student id="1"> <name>小花</name> <age>23</age> <sex></sex> </student> <student id="2"> <name>小名</name> <age>24</age> <sex></sex> </student> </students>

    一:将xml文件转换为对象(如下转换成doc对象) 二:对doc对象进行增删改查的操作(这里演示查的操作)

    代码片.

    //先获取根文件,对根文件的操作至关重要,解析xml遵循一个 //原则一切从根文件开始操作 Element root=doc.getRootElement(); //dom4j包内提供了一个很好用的工具:元素迭代器 //用来迭代该根元素下的所有的标签值为"student"的子元素 Iterator it=root.elementIterator("student"); while(it.hasNext()) { //获取遍历器中的元素 Element e=(Element)it.next(); //输出元素里面属性的值 System.out.println(e.attributeValue("id")); //这里原本不用遍历器,但为了增加理解,这里想得到e元素下的子元素的值 //于是用遍历器的方式,得到所有name标签的子元素 Iterator ot=e.elementIterator("name"); while(ot.hasNext()) { //得到e元素的子元素 Element e1=(Element)ot.next(); //得到该属性的标签名 e1.getName(); e1.getText(); //得到该元素值与e1.getStringValue效果一样 e1.getStringValue(); //得到该元素的父元素 Element e2=e1.getParent(); //得到该元素子元素中标签名为name的元素 e2.elementText("name");

    三:将处理好的doc对象放回到xml文件,这里的放回是将原有的xml文件覆盖。 代码片.

    //为了使xml文件的格式更加友好,OutputFormat这个类是单独存在,使得格式友好实现了Cloneable接口 //即克隆接口,专门克隆文件并格式化文件的。 OutputFormat format=OutputFormat.createPrettyPrint(); //设置字符码 format.setEncoding("GBK"); File file=new File("src/student1.xml"); //与文件进行传输 FileWriter fw=new FileWriter(file); //处理流,用来传递xml文件,并格式化 XMLWriter writer=new XMLWriter(fw, format); writer.write(doc); writer.close();
    最新回复(0)