java-xpath学习
/**
- 使用xpath技术取得xml文件中任意级别下的内容 基于dom4j的xpath技术
- 1)能够在xml文件中,快速定位需要元素,无需从根元素一个一个的导航到需要的子元素
- Document.selectNodes():取得所有符合xpath格式的元素
- Document.selectSingleNode():取得所有符合xpath格式的元素的第一个元素
- Node类型是Element/Text/Attribute/Document/...类型的父接口
- */
import java.io.File;
import java.util.List;
import java.util.Scanner;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXContentHandler;
import org.dom4j.io.SAXReader;
import org.junit.Test;/*** 使用xpath技术取得xml文件中任意级别下的内容 基于dom4j的xpath技术* 1)能够在xml文件中,快速定位需要元素,无需从根元素一个一个的导航到需要的子元素* Document.selectNodes():取得所有符合xpath格式的元素* Document.selectSingleNode():取得所有符合xpath格式的元素的第一个元素* Node类型是Element/Text/Attribute/Document/...类型的父接口* */public class Xpath {@Testpublic void xpathtest() throws Exception {SAXReader reader = new SAXReader();Document document = reader.read(new File("src/day2/domx/car.xml"));String xpath = "//单价";List<Element> elementList = document.selectNodes(xpath);for (Element e : elementList) {System.out.println(e.getText());System.out.println("=================");}}@Testpublic void xpathtest1() throws Exception {SAXReader reader = new SAXReader();Document document = reader.read(new File("src/day2/domx/car.xml"));String xpath = "//单价";List<Element> elementList = document.selectNodes(xpath);System.out.println("第二辆汽车的单价是:" + elementList.get(1).getText());}@Testpublic void xpathtest2() throws Exception {SAXReader reader = new SAXReader();Document document = reader.read(new File("src/day2/domx/car.xml"));String xpath = "//单价";Element element = (Element) document.selectSingleNode(xpath);System.out.println("第一辆汽车的单价是:" + element.getText());}@Testpublic void login() throws Exception {// 读取用户在键盘的输入信息Scanner scanner = new Scanner(System.in);System.out.println("用户名:");String username = scanner.nextLine();System.out.print("密码:");String password = scanner.nextLine();// System.out.println(username+":"+password);//解析XML文件,并查询指定的元素SAXReader saxReader = new SAXReader();Document document = saxReader.read(new File("src/day2/domx/users.xml"));String xpath = "//user[@username='"+username+"' and @password='"+password+"']" ;Element element = (Element) document.selectSingleNode(xpath);if(element != null){System.out.println("登陆成功");}else{System.out.println("登陆失败");}}}
user.xml
<?xml version="1.0" encoding="UTF-8"?>
<root><user id = "id001" username ="liwen" password="123456"></user><user id = "id002" username ="python" password="23456"></user>
</root>
结果:
用户名:
liwen
密码:123456
登陆成功
转载于:https://blog.51cto.com/357712148/2103954
java-xpath学习相关推荐
- 尚学堂JAVA基础学习笔记_2/2
尚学堂JAVA基础学习笔记_2/2 文章目录 尚学堂JAVA基础学习笔记_2/2 写在前面 第10章 IO技术 1. IO入门 2. IO的API 3. 装饰流 4. IO实战 5. CommonsI ...
- Java XPath
Java 语言的 XPath API 从 Java 程序中查询 XML 级别: 中级 Elliotte Harold (elharo@metalab.unc.edu), 副教授, Polytechni ...
- Java爬爬学习之WebMagic
Java爬爬学习之WebMagic WebMagic介绍 架构介绍 WebMagic的四个组件 用于数据流转的对象 案例 引入依赖 加入配置文件 相关资料 WebMagic功能 实现PageProce ...
- Java EE学习心得
–Java EE学习心得 1. 称为编程专家的秘诀是: 思考-----编程--------思考------编程--.. 编程不能一步到位,不能一上来就编,必须先思考如何写,怎样写?然后再编程 ...
- java web学习项目20套源码完整版
java web学习项目20套源码完整版 自己收集的各行各业的都有,这一套源码吃遍所有作业项目! 1.BBS论坛系统(jsp+sql) 2.ERP管理系统(jsp+servlet) 3.OA办公自动化 ...
- 初级java开发学习路线_成为初级全栈Web开发人员的10分钟路线图
初级java开发学习路线 So you have started your journey into the world of web development. But what do you lea ...
- Java培训学习步骤有哪些
最近几年,有很多学习java技术的同学都有过半途而废的想法,认为java零基础是很难学会的,其实出现这样的问题,最主要的原因就是学习方法有问题,下面小编整理的Java培训学习步骤,希望能够帮助大家更有 ...
- Java入门学习注意事项有哪些?
想要学好java技术,做好学习规划路线和注意事项是非常重要的,尤其是零基础学员,Java涉及到的知识点非常多,我们需要制定合理的Java学习路线图,这样会事半功倍,下面小编和大家总结一下Java入门学 ...
- java培训学习阶段步骤讲解
目前的培训机构行业比较热门的IT技术就是java技术,java技术在近几年广受关注,java所涉及的技术知识也比较广泛,下面小编就为大家详细的介绍一下java培训学习多有哪几个阶段? java培训学习 ...
- Java多线程学习处理高并发问题
在程序的应用程序中,用户或请求的数量达到一定数量,并且无法避免并发请求.由于对接口的每次调用都必须在返回时终止,因此,如果接口的业务相对复杂,则可能会有多个用户.调用接口时,该用户将冻结. 以下内容将 ...
最新文章
- 明白了最基本的压缩原理
- MySQL5.7 - 基于GTID复制模式搭建主从复制
- map使用不存在的下标
- 如何让excel表格排头一直都在_Excel表格技巧—如何计算矩阵相乘
- OpenGL raytracer光线追踪的实例
- View.onMeasured的默认实现 (onMeasure必须调setMeasuredDimension)
- cors跨域_跨域,不止CORS
- python中如何调用或修改元组中的元素_python 元组的使用方法
- QT [005] 数据库设计 - 一个被忽略的数据库show类 - ConnectionWidget Class
- 2018-06-29博客
- AD的备份与标准还原:深入浅出Active Directory系列(四)
- python装饰器详解-如何更通俗地讲解Python的装饰器?
- golang http client 使用gzip_Grpc介绍 — Go-Service To PHP-Client
- 探索科学的奥秘之门Science,Cell, Nature
- iOS:childViewController和view的声明周期及其原理
- php1108脱机使用,电脑打印机脱机怎么重新连接
- 浅谈地下污水处理厂电气特点和能效管理系统的实际应用
- PMP第十章:项目沟通管理
- Twaver-HTML5基础学习(3)基本数据元素(Data)其他功能函数以及组Group
- 树莓派4B(bullseye),傻瓜式配置镜像源和QT,cmake等环境