Javaweb-xml编程-XPath
来源:互联网 发布:gmp系统网络的搭建 编辑:程序博客网 时间:2024/06/05 20:15
- XPath是xml路径语言,具有强大的导航功能,可以直接获取xml文档中的节点
当xml文档的层次很多时,使用原始的获取节点的方式将会耗费大量时间和空间,而使用XPath可以迅速定位xml文档中想要的数据
获取所有节点:
- List list = document.selectNodes(“//foo/bar”);
- 获取单个节点:
- Node node = document.selectSingleNode(“//foo/bar/author”);
- XPath语法:参考W3school
一、使用实例
(1)xml文档:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE 书架><书架> <书> <书名>数据结构</书名> <作者>严蔚敏</作者> <售价>200元</售价> </书> <书> <书名>大话设计模式</书名> <作者>周志华</作者> <售价>45.0</售价> </书> </书架>
(2)获取第一本书的作者信息:
使用XPath快速获取作者姓名
package dom4j;import java.io.File;import org.dom4j.Document;import org.dom4j.io.SAXReader;public class Demo2 { public static void main(String[] args) throws Exception { SAXReader reader = new SAXReader(); Document document = reader.read(new File("src/book.xml")); String value = document.selectSingleNode("//作者").getText(); System.out.println(value); }}
(3)报错信息:
(4)改错方式:
报错内容:找不到类,类的名称是org/jaxen/NamespaceContext
表示缺少支持jar包jaxen,网上下载jar包复制到项目中:
二、案例说明
(1)xml文档
<?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="bb@sina.com" /></users>
备注:CTRL+shift+F自动排版
(2)查找users.xml文档是否有和用户相匹配的用户名和密码
package dom4j;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 = "ccc"; String password = "123"; //检测xml文档是否有匹配的用户名和密码 SAXReader reader = new SAXReader(); Document document = reader.read(new File("src/users.xml")); //断字符串:先打双引号,再打加号,再打名称 Node node = document.selectSingleNode("//user[@username='"+username+"'and @password='"+password+"']"); if(node==null){ System.out.println("用户名或密码错误"); } else{ System.out.println("登陆成功"); } }}
阅读全文
0 0
- Javaweb-xml编程-XPath
- 【JavaWeb笔记】XML、XPath
- Javaweb-xml编程-Schema
- 【JavaWeb-3】XML的解析与XPath的使用
- 03-JavaWeb-XML-xml编程-dom解析
- Javaweb-xml编程-Jaxp解析xml文档
- Javaweb-xml编程-Dom4j解析xml文档
- XML - XPath
- XPath、XML
- xml-xpath
- xml---xpath
- JAVAWEB第六天XPATH
- javaWEb-day01(XML编程)
- Javaweb-xml编程-考生成绩管理系统(1)
- Javaweb-xml编程-考生成绩管理系统(2)
- Javaweb-xml编程-sax解析与实例
- javaweb-day02-3(XML 解析 - Dom4j解析开发包 - XPath)
- Java读取xml文件(JDOM/XPATH编程指南)
- BZOJ1834: [ZJOI2010]network 网络扩容
- BottomTabBar实现底部导航栏
- 帧内预测:predIntraLumaAng函数+getPreditorPtr函数+xDCPredFiltering函数
- PHP微信公众平台接口(一)——设置URL
- android之Blurry,图片模糊
- Javaweb-xml编程-XPath
- Java实现当前目录下的所有子目录和文件,并按层级打印
- 【Linux】SCP命令教程
- Maven3.5.0安装与配置+Eclipse应用
- C语言操作符
- Web.xml如果要是多个servlet写法?
- could not find 'com.github.a-voyager:AutoInstaller:v1.0'解决
- Delphi IDHTTP控件:GET/POST 请求
- 工作中遇到的问题