[关闭]
@liayun 2016-06-29T19:30:43.000000Z 字数 7887 阅读 4502

DOM4J实现对XML文档的CRUD操作

JavaWeb


DOM4J简介

DOM4J解析XML文档

DOM4J的使用

Document对象

DOM4j中,获得Document对象的方式有三种:

节点对象

节点对象属性

Dom4j在指定位置插入节点

字符串与XML的转换

CRUD操作

例,有book.xml文档如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <书架>
  3. <书>
  4. <书名>Java就业培训教程</书名>
  5. <作者>张孝祥</作者>
  6. <售价>109元</售价>
  7. </书>
  8. <书>
  9. <书名 name="xxxx">JavaScript网页开发</书名>
  10. <作者>黎活明</作者>
  11. <售价>28.00元</售价>
  12. </书>
  13. </书架>

读取(R)

添加(C)

删除(D)

修改(U)

DOM4J使用XPath技术提取XML文档数据

XPath简介

使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作。

XPath语法

为了学习XPath语法,可去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种。这里就不专门赘述了。

使用XPath、Dom4j解析XML文档的案例

例1,有book.xml文档如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <书架>
  3. <书>
  4. <书名>Java就业培训教程</书名>
  5. <作者>张孝祥</作者>
  6. <售价>109元</售价>
  7. </书>
  8. <书>
  9. <书名 name="xxxx">JavaScript网页开发</书名>
  10. <作者>黎活明</作者>
  11. <售价>28.00元</售价>
  12. </书>
  13. </书架>

例2,有users.xml文档如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <users>
  3. <user id="1" username="aaa" password="123" email="aaa@sina.com" />
  4. <user id="2" username="bbb" password="123" email="bbb@sina.com" />
  5. </users>

想要判断用户是否登录成功,应该怎么做?
解:
思路:查找users.xml文档中是否有和用户想匹配的用户名和密码。

  1. public static void main(String[] args) throws DocumentException {
  2. String username = "vvv";
  3. String password = "123";
  4. SAXReader reader = new SAXReader();
  5. Document document = reader.read(new File("src/users.xml"));
  6. // 检测xml文档中是否有匹配的用户名和密码
  7. // 记住值一定要用''引起来
  8. Node node = document.selectSingleNode("//user[@username='"+username+"' and @password='"+password+"']");
  9. if(node == null) {
  10. System.out.println("用户名或密码错误!!");
  11. } else {
  12. System.out.println("登录成功!!");
  13. }
  14. }

这里我参考:

  1. 【JAVA与DOM4J实现对XML文档的CRUD操作】
  2. javaweb入门20160305---xml的解析入门
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注