xpath技术解析xml以及案例模拟用户登录效果
问题:当使用dom4j查询比较深的层次结构的节点(标签,属性,文本),比较麻烦!!!
xpath就在此情况下产生了——主要是用于快速获取所需的[节点对象]。
在dom4j中如何使用xPath技术
1)导入xPath支持jar包。 jaxen-1.1-beta-6.jar
2)使用xpath方法
List<Node> selectNodes("xpath表达式"); 查询多个节点对象
Node selectSingleNode("xpath表达式"); 查询一个节点对象
xPath语法
/ 绝对路径 表示从xml的根位置开始或子元素(一个层次结构)
// 相对路径 表示不分任何层次结构的选择元素。
* 通配符 表示匹配所有元素
[] 条件 表示选择什么条件下的元素
@ 属性 表示选择属性节点
and 关系 表示条件的与关系(等价于&&)
text() 文本 表示选择文本内容
案例
用户登录功能:
用户输入用户名和密码 -> 到“数据库”查询是否有对应的用户->
有:则表示登录成功
没有:则表示登录失败
用xml当做数据库
user.xml 用来存储用户的数据
代码如下:
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;/*** xpath案例: 模拟用户登录效果* @author APPle**/
public class Demo3 {public static void main(String[] args)throws Exception{//1.获取用户输入的用户名和密码BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//封装键盘录入,输入流System.out.println("请输入用户名:");String name = br.readLine();System.out.println("请输入密码:");String password = br.readLine();//2.到“数据库”中查询是否有对应的用户//对应的用户: 在user.xml文件中找到一个//name属性值为‘用户输入’,且password属性值为‘用户输入’的user标签Document doc = new SAXReader().read(new File("./src/user.xml"));Element userElem = (Element)doc.selectSingleNode("//user[@name='" +name +"' and @password='"+password+"']");//在字符串中拼接变量的方法——先加一个双引号,再把光标移到双引号中间,写两个加号,再把光标移到加号中间写上变量。//System.out.println(userElem.getName());//查看当前节点对象内容if(userElem!=null){//说明在“数据库”里面找到了用户名和密码。//登录成功System.out.println("登录成功");}else{//登录失败System.out.println("登录失败");}}}
转载于:https://www.cnblogs.com/wanghang/p/6299721.html
xpath技术解析xml以及案例模拟用户登录效果相关推荐
- dom技术解析xml下jaxp解析器详细代码
1.使用jaxp实现查询操作 person.xml <?xml version="1.0" encoding="UTF-8" standalone=&qu ...
- 【Python养成】:案例(身高体重BMI值、模拟用户登录系统、键盘录入10个学生的成绩,计算出最高分、最低分和成绩总和、词频统计)
案例题目:身高体重BMI值 计算成人身高体重指数BMI值.公式:bmi = 体重 / (身高 * 身高),体重的单位是千克,身高的单位是米 .键盘输入身高和体重值,计算bmi值,并根据结果对用户做出友 ...
- python模拟用户登录爬取阳光采购平台数据
阳光采购平台每月初会把当月的价格挂到平台上,现模拟用户登录平台,将需要的数据保存到csv文件和数据库,并且发送给指定人员. 开发环境搭建: 网上教程一大堆,不赘述了.安装好后需要安装一些必须的库,如下 ...
- scrapy模拟用户登录
scrapy框架编写模拟用户登录的三种方式: 方式一:携带cookie登录,携带cookie一般请求的url为登录后的页面,获取cookie信息应在登录后的页面获取,cookie参数应转成字典形式 # ...
- 案例:用户登录(html--servlet--mysql)
案例:用户登录(html–servlet–mysql) 需要用到的内容:HTML+CSS,Tomcat,Servlet,DBUtils,c3p0,MySQL 1.创建web项目student_mana ...
- #博学谷it学习技术支持#探花交友项目:用户登录
#博学谷it学习技术支持#探花交友项目:用户登录 目录: 一.基本执行流程 二.Service模块内容的编写: 三.Dabbo模块下: 四.model(实体类)模块下: 五.思维导图 正文: 用户登录 ...
- 用C语言实现“模拟用户登录情景”、“猜数字小游戏”
for循环,这种情况,break跳出循环,直接打印0123:记录一下 2.实现左右增加字符,如下图所示,要想到用数组,左右增加变量,再加入延迟,sleep的头文件是#<windows.h> ...
- javaweb——模拟用户登录和新闻发布
目录 模拟用户登录 1.登录界面: 注意点:验证码 2.对登录界面与数据库实现数据交互: 3.登录成功页面: 新闻发布 1.发布新闻页面 2.发布新闻数据和数据交互: 注意点:新增id 3.发布新闻成 ...
- python小练习--模拟用户登录,(3次重试机会,登录成功展示登录账号密码)
知识点使用:1.格式化输出的两种方法---% .formate 2.while循环的使用,及跳出循环的两种方法---break(跳出循环体).continue(结束本次循环,继续下次循环) 3.if条 ...
最新文章
- C# VC HTTP POST GET(转)
- 51nod 3 * problem
- sentinel 时间窗口_Sentinel潜龙勿用篇
- 1_4 BuilderMode 建造者模式
- Dijkstra迪杰斯特拉算法 C++实现
- 【牛客 - 318F】关于我转生变成史莱姆这档事(二分,搜索)
- 全民一起玩python课件_全民一起玩Python课基础+提高篇[免费学习]
- Python实现鸢尾花数据集分类问题——基于skearn的LogisticRegression
- 移动端日期控件 mobiscroll
- HTML基础网页布局代码写法
- 第六章jQuery选择器
- unity3d游戏开发之UV贴图教程
- PyTorch 深度学习入门
- Jeff Dean 的传奇人生:超级工程师们拯救谷歌
- 大数据技术基础学习总结
- 事件的互不相容和独立的区别
- linux服务器创建用户
- 使用 TreeView IE Web 控件
- CANoe:CAN报文发送前的字节预处理(applILTxPending函数)
- 如何提取fq.gz中的文件_什么是GZ文件类型或扩展名? 如何创建,提取和打开Gz文件?...
热门文章
- 栈和队列--算法设计题3.15
- R语言常用包分类总结
- matlab 一个赋值变量赋值,MATLAB 基本语法----变量与赋值
- python如何判断tcp异常断开_如何判断TCP连接已经中断?
- 堆栈的栈顶和栈底在哪_【c# .net】堆栈(Stack)
- java程序试岗内容_java程序员修炼之路基础篇四:继承
- linux18.04安装显卡驱动,详细介绍ubuntu18.04安装NVIDIA显卡驱动(亲测有效!)
- nginx php 错误日志,PHP 错误与异常的日志记录
- ANACONDA安装pytorch后Pycharm无法识别到解释器
- opencv标定函数解说