浅谈Xpath
来源:互联网 发布:7723java游戏 编辑:程序博客网 时间:2024/05/16 15:51
1.Xpath简介
Xpath即XML Path Language, XPath是一门在XML文档中查找信息的语言。利用XPath可以对XML文档进行元素和属性的遍历。
2.包的导入
(1)导入dom4j.jar包,并build path
(2)导入dom4j/lib 中的 jaxen.jar包,并build path
3.常用语法
/ 开始,表示到一个元素的绝对路径(必须从根元素开始)
// 开始,表示选择文档中所有满足双斜线后规则的元素(无论层级关系)
[ ] 里的表达式可以进一步的指定元素
@ 指定属性
| 多个路径之间使用
4.Demo
下面的代码直接读取了price元素(car.xml)
//使用xpath技术取得xml文件中任意级别下的内容
SAXReader reader = new SAXReader();Document document = reader.read(new File("src/web/java/xml/xpath/car.xml"));String xpath = "//price";Element element = (Element) document.selectSingleNode(xpath);System.out.println("第一辆汽车的单价为:" + element.getText());
4.Demo2
使用Xpath,模拟用户登录
有如下user.xml文档,解析其中的用户数据,在控制台模拟登录过程
<?xml version="1.0" encoding="UTF-8"?><root><user id="u01" username="well" pwd="1234" /><user id="u02" username="admin" pwd="1234" /></root>
编写测试代码如下:
package web.java.xml.xpath;import java.io.File;import java.util.Scanner;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class Demo2 {public static void main(String[] args) throws Exception {//利用扫描流读取用户输入的数据Scanner scanner = new Scanner(System.in);System.out.print("用户名:");String username = scanner.nextLine();System.out.print("密码:");String pwd = scanner.nextLine();//解析XML文件,并查询指定的元素File file = new File("src/web/java/xml/xpath/user.xml");SAXReader saxReader = new SAXReader();Document doc = saxReader.read(file);String xpath="//user[@username='"+username+"' and @pwd='"+pwd+"']";Element element = (Element) doc.selectSingleNode(xpath);if(element != null){System.out.println("Login Success!");}else{System.out.println("Login Failed!");}}}
- 浅谈Xpath
- 浅谈XPath
- 浅谈XPath注入检测思路和方法
- xpath
- XPATH
- XPATH
- XPATH
- xpath
- XPath
- xPath
- Xpath
- XPath
- XPath
- XPath
- xpath
- Xpath
- xpath
- XPATH
- Cocos2D-X游戏开发技术精解
- Json概述以及python对json的相关操作
- Microsoft SQL Server Management Studio -- Restore database in a difference server
- ubuntu10.04 无线上网
- C++中运算符的重载
- 浅谈Xpath
- STL学习(四)阶段简单总结
- Flex+BlazeDS数据交互入门笔记
- hdu1030-Delta-wave
- 资源文件的读取
- [Asp.Net]ConvertToPDF
- 堆
- Cron Job on Linux
- Ashx Session