XPath对XML文档的解析

首先,得感谢一下写XPath的开发人员考虑到中国人编写了中文文档! 使用XPath让我们解析XML文档变得更加灵活简单了。

package it.xiehe.xml;

import java.io.File;
import java.util.List;

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

/*
 * @模拟用户登录验证
 * @xml充当数据库存放数据
 */
public class DemoXPath {

    // XPath 用户登录验证
    public static void main(String[] args) throws Exception {
        // 用户信息如下
        String name = "aaa";
        String password = "123";

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

        Node node = document.selectSingleNode("//user[@name=‘" + name
                + "‘ and @password=‘" + password + "‘]");
        // List list =
        // document.selectNodes("//user[@name=‘"+name+"‘ and @password=‘"+password+"‘]");
        if (node == null) {
            System.out.println("密码或账号出错了!");
        } else {
            //
            System.out.println("登录成功!");
        }
    }

}-------------------------users----------------------------<?xml version="1.0" encoding="UTF-8"?><users> <user name="aaa" password="123" phone="456"></user> <user name="bbb" password="789" phone="123"></user></users>
时间: 2024-10-14 10:32:33

XPath对XML文档的解析的相关文章

XML文档的解析

XML文档解析:操作xml文档,将文档中的数据读取到内存中  * 操作xml文档   1. 解析(读取):将文档中的数据读取到内存中   2. 写入:将内存中的数据保存到xml文档中.持久化的存储 * 解析xml的方式:   1. DOM:将标记语言文档一次性加载进内存,在内存中形成一颗dom树    * 优点:操作方便,可以对文档进行CRUD的所有操作    * 缺点:占内存   2. SAX:逐行读取,基于事件驱动的.    * 优点:不占内存.    * 缺点:只能读取,不能增删改 * x

用xpath提取xml文档指定标签的内容

1 <?xml version="1.0" encoding="UTF-8"?> 2 <书架> 3 <书> 4 <书名 name="vvvb">何茂赟自传</书名> 5 <作者>何茂赟</作者> 6 <售价>500.00</售价> 7 <售价>1234元</售价><售价>1234元</售价>&

javaweb学习总结十三(dom4j方式对XML文档进行解析)

一:dom4j方式介绍 对于xml的解析总共有三种 1:jaxp方式,是sun公司开发的,分为sax方式和dom方式 2:jdom方式,后来其中部分人员参与开发dom4j 3:dom4j方式,是现在企业使用比较多的一种方式 二:代码案例 1:读取xml文件中某个节点 1):获取第二个学生的名字 1 @Test 2 // 1:获取第二个学生的名字 3 public void test01() throws DocumentException { 4 // 1:获取解析器 5 SAXReader r

关于XML文档pull解析的新思考-内省的应用

今天,复习黑马第6天学习的pull解析XML文档,结合第10天讲的JavaBean,突然了有了新的思考. 以下是我创建的XML文档: <?xml version="1.0" encoding="UTF-8"?> <!-- 定义一个演示文档,存储黑马的所有班级,以及每个班级的信息 利用XML的功能之一:XML用来表示生活中有关系的数据  -->  <itheima>   <class>   <name>Anr

Java对XML文档的解析

1. DOM解析 DOM的全称是Document Object Model,也即文档对象模型.DOM解析会将XML文档以对象树的方式存入内存,因此,DOM解析内存消耗巨大.当然由于DOM解析将XML以节点树的方式调入内存,所以对文档进行增删改查(crud)比较方便.DOM分析器把整个XML文档转化成DOM树放在了内存中,因此,当文档比较大或者结构比较复杂时,对内存的需求就比较高.而且,对于结构复杂的树的遍历也是一项耗时的操作.所以,DOM分析器对机器性能的要求比较高,实现效率不十分理想. ---

DOM4J与JDOM解析xml文档

1.   JDOM方式解析XML JDOM并不是java官方解析xml文档的方法,所以在进行文档解析前,需要下载JDOM的jar包:http://www.jdom.org/downloads/:并将其路径添加到当前项目中,或者把jar包拷贝到当前项目中. 同样地使用前面的books.xml文档进行解析: books.xml: <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book

解析简单xml文档

一.解析简单的xml文档 使用xml.etree.ElementTree 下的parse() xmlName.xml的文档的内容如下: <?xml version="1.0"?> <data> <country name="zhongguo"> <rank updated="yes">2</rank> <year >2017</year> <gdppc>

浅谈用java解析xml文档(三)

接上一篇,本文介绍使用JDOM解析xml文档, 首先我们还是应该知道JDOM从何而来,是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000年初, JDOM作为一个开放源代码项目正式开始研发.JDOM是一种解析XML的Java工具包. JDOM基于树状结构,利用纯JAVA技术对XML文档实现解析.生成.序列化及其它操作. 我们从以下步骤开始解析: (1).通过JDOM的API创建一个SAXBuilder的对象 SAXBuilder saxBuilder

浅谈用java解析xml文档(一)

关于xml本身的语法及使用的环境不多说了,网上有很多规则, 然对xml文档进行解析,一般分为四种解析方式,基于java官方文档的Dom 和Sax解析,还有就是基于 第三方jar包的 Jdom 和 Dom4j解析. 一.首先我们来看Dom解析: 1.定义工厂,使应用程序能够从 XML 文档获取生成 DOM 对象树的解析器. DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 在应用程序获取对 DocumentBuil