微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dom4j框架的使用

    dom4j是1个Java的XML API,类似于jdom,用来读写XML文件的。我们说Dom4j是1个框架,框架就是很多很多类的集合,它整合了DOM思想,将文档中的所有内容创建成对象放到内存中,利用事件驱动来对XML实现不同的操作。


    1.Dom4j的引入


    使用Dom4j时,必须首先引入dom4j.jar,如果使用到了它的拓展功能,还需要引入jaxen⑴.1-beta⑹.jar。


   2.对XML的操作


    要想实现对XML的操作,首先必须读取到XML文档:

    

SAXReader reader = new SAXReader(); Document document = reader.read(new File(src/student.xml));

    ①查询

    

//1取得根元素 Element root = document.getRootElement(); //2遍历根元素下student的子元素 Iterator<Element> it = root.elementIterator(student); while(it.hasNext()){ Element studentEle = it.next(); //3取得number属性 String number =studentEle.attributeValue(number); String name = studentEle.elementText(name); String age = studentEle.elementText(age); String sex = studentEle.elementText(sex); }

    

    ②添加


//1获得students根元素 Element root = document.getRootElement(); //2添加学生元素 Element student = root.addElement(student).addAttribute(number,ITCAST_003); //3增加子元素 student.addElement(name).addText(Fanny); student.addElement(age).addText(23); student.addElement(sex).addText(female); //4将新添加的写回到文档中 //1>创建格式化器 OutputFormat format = OutputFormat.createPrettyPrint(); //2>创建写入器 XMLWriter writer = new XMLWriter(new FileWriter(src/studentcopy.xml),format); //3>写入文件 writer.write(document); //4>关闭资源 writer.close();

    ③删除

    

//1.获得根元素 Element root = document.getRootElement(); //2.遍历student的子元素 //2.1>方法1 Iterator<Element> it = root.elementIterator(student); while(it.hasNext()){ Element studentEle = it.next(); String number = studentEle.attributeValue(number); if(number == jerry){ it.remove(); } } //2.2方法2 List<Element> list = root.elements(student); for(int i = 0; i < list.size(); i++){ Element studentEle = list.get(i); //3.判断学号是不是等于被删除学生,是的话就履行删除 if(itcast_0001.equals(studentEle.attribute(number))){ studentEle.getParent().remove(studentEle); break; } } //3.保存到文档 OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter writer = new XMLWriter(new FileOutputStream(src/studentDel.xml),format); writer.write(document); writer.close();

    总结:

    在学习Dom4j的进程中,感觉很像学习js的时候对DOM的操作,实际上,Dom4j也正是在DOM的基础上实现对XML的操作的,所以这1块的学习1定要和之前的HTML DOM结合起来,会事半功倍的。    


版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐