xpath笔记
3 xPath技术
3.1 引入
问题:当使用dom4j查询比较深的层次结构的节点(标签,属性,文本),比较麻烦!!!
3.2 xPath作用
主要是用于快速获取所需的节点对象。
3.3 在dom4j中如何使用xPath技术
1)导入xPath支持jar包 。 jaxen-1.1-beta-6.jar
2)使用xpath方法
List<Node> selectNodes("xpath表达式"); 查询多个节点对象
Node selectSingleNode("xpath表达式"); 查询一个节点对象
3.4 xPath语法
/ 绝对路径 表示从xml的根位置开始或子元素(一个层次结构)
// 相对路径 表示不分任何层次结构的选择元素。
* 通配符 表示匹配所有元素
[] 条件 表示选择什么条件下的元素
@ 属性 表示选择属性节点
and 关系 表示条件的与关系(等价于&&)
text() 文本 表示选择文本内容
3.5 案例
用户登录功能:
用户输入用户名和密码 -> 到“数据库”查询是否有对应的用户 ->
有: 则表示登录成功
没有: 则表示登录失败
用xml当做数据库
user.xml 用来存储用户的数据
 
1 package Xpath; 2 3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.InputStreamReader; 6 7 import org.dom4j.Document; 8 import org.dom4j.Element; 9 import org.dom4j.io.SAXReader; 10 11 public class 模拟用户登录 { 12 public static void main(String[] args) throws Exception{ 13 //1。获取用户输入的用户名和密码 14 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 15 16 System.out.println("请输入用户名:"); 17 String name = br.readLine(); 18 19 System.out.println("请输入密码:"); 20 String password = br.readLine(); 21 22 //2.到数据库中查找是否有对相应用户 23 Document doc = new SAXReader().read(new File("./src/user.xml")); 24 Element elem = (Element)doc.selectSingleNode("//user[@name='" +name+ "' and @password='" +password+ "']"); 25 26 if(elem != null){ 27 System.out.println("登录成功"); 28 29 }else{ 30 System.out.println("登陆失败"); 31 } 32 } 33 }

 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号