日常小结-XPath用于解析XML文档

使用XPath的时候,除了dom4j以外,还需要额外添加一个.jar包-jaxen包。

package sax;

import java.io.File;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;

public class Demo2 {

    //用XPath提取数据
    public static void main(String[] args) throws DocumentException {
        SAXReader reader = new SAXReader();
        Document document = reader.read(new File("src/book.xml"));

        String value = document.selectSingleNode("//作者").getText();
        System.out.println(value);
    }
}

密码验证实例:

package sax;

import java.io.File;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

public class Demo3 {

    public static void main(String[] args) throws DocumentException {
        String username = "aaa";
        String passwrod = "123";
        SAXReader reader = new SAXReader();
        Document document = reader.read(new File("src/users.xml"));

        Node node = document.selectSingleNode("//user[@username='"+username+"' and @password='"+passwrod+"']");

        if(node==null){
            System.out.println("用户名密码错误");
        }else{
            System.out.println("登录成功");
        }
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<users>
    <user id="1" username="aaa" password="123" email="aa@sina.com"/>
    <user id="2" username="bbb" password="123" email="aa@sina.com"/>
</users>

相关文章

引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满足人的生产生活需要而产生的。具体...
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. 文章...
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. 文章...
http://blog.jobbole.com/79252/ 引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满...
(点击上方公众号,可快速关注) 公众号:smart_android 作者:耿广龙|loonggg 点击“阅读原文”,可查看...
一、xml与xslt 相信所有人对xml都不陌生,其被广泛的应用于数据数据传输、保存与序列化中,是一种极为强...