java--DOM4j-SAXReader对xml文档的解析2
来源:互联网 发布:淘宝上的壮阳药 编辑:程序博客网 时间:2024/06/05 15:50
Xpath:
XML PATH Language。
可以实现快速查询。
XPATH包含
XPath 使用路径表达式在 XML 文档中进行导航 。
XPath 包含一个标准函数库
准备Xpath的包:jaxen.jar
Xpath通过以下方法使用
dom.selectNodes – 返回一个 List对像
dom.selectSingleNode – 返回一个Node对像
XPath示例:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><contacts> <user name="Jack" pwd="1234"> <contact id="707dede609dd4a2990f7cfa4cd5233f9"> <name>xiaoming</name> <sex>male</sex> <tel>123456</tel> <fild> <name>123</name> <sex>12</sex> <tel>12</tel> </fild> </contact> <contact id="80983802eaa6402d8bac8bb39e71c48f"> <name>12</name> <sex>12</sex> <tel>12</tel> </contact> <contact id="4d30286e8805454bb38fb759a4f6db07"> <name>rose</name> <sex>male</sex> <tel>123</tel> </contact> </user> <user name="Rose" pwd="4321"> <contact id="eedb795b97194c3aaa9bacda7e2948e9"> <name>xiaoming</name> <sex>female</sex> <tel>123</tel> </contact> </user></contacts>
import java.util.List;import java.util.Scanner;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.junit.Test;public class dom4jParse { //基本套路:1,document.selectNodes( xpath路径 );//"//foo/bar" // 2, document.selectSingleNode( "//foo/bar/author" );//"//foo/bar/author":xpath路径 //快速定位 @Test public void SelectDemo() throws Exception{ SAXReader reader=new SAXReader(); Document dom=reader.read("./xml/users.xml");// List<Element> list=dom.selectNodes("//name");//所有name元素,无论处于哪一层 //输出:xiaoming,123,12,rose,xiaoming,name// List<Element> list=dom.selectNodes("//contact//name");//所有contact下的name结点,无论处于contact下哪一层 //输出:xiaoming,123,12,rose,xiaoming List<Element> list=dom.selectNodes("//contact/name");//contact下的直接节点name //输出:xiaoming,12,rose,xiaoming for(Element e:list){ System.out.println(e.getText()); } } @Test public void SelectDemo2() throws Exception{ SAXReader reader=new SAXReader(); Scanner sc=new Scanner(System.in); System.out.println("name"); String name=sc.nextLine(); System.out.println("pwd"); String pwd=sc.nextLine(); //不区分大小写1 name=name.toLowerCase(); pwd=pwd.toLowerCase(); String xpath="//user[@name='"+name+"'][@pwd='"+pwd+"']"; //不区分大小写2// String xpath="//user[fn:lower-case(@name)='"+name+"'][fn:lower-case(@pwd)='"+pwd+"']"; Document dom=reader.read("./xml/users.xml"); List<Element> list=dom.selectNodes(xpath);//所有name结点,无论处于哪一层 if(list.size()==0){ System.out.println("falure"); }else{ System.out.println("success"); } }}
0 0
- java--DOM4j-SAXReader对xml文档的解析2
- java--DOM4j-SAXReader对xml文档的解析2
- xml--dom4j SAXReader解析
- 采用DOM4J中的SAXReader解析webservice返回的XML文件
- dom4j 解析。xml SAXReader的read方法读取
- 用dom4j 修改xml文档 saxreader read
- 用SAXReader解析xml文档
- 用SAXReader解析xml文档
- 用SAXReader解析xml文档
- 用SAXReader解析xml文档
- 用SAXReader解析xml文档
- 用SAXReader解析xml文档
- 用SAXReader解析xml文档
- 用SAXReader解析xml文档
- Java对XML文档进行解析(dom4j解析)
- Java生成和解析XML格式文件和字符串的实例代码【dom4j中的SAXReader对象读取并解析xml文件】
- 使用Dom4j解析xml文件---SAXReader方式
- org.dom4j.io.SAXReader解析xml
- 安卓自定义View基础-角度与弧度
- 欢迎使用CSDN-markdown编辑器
- php权限魔术方法
- 卷积神经网络(CNN)
- iOS 10 通知 --UserNotifications
- java--DOM4j-SAXReader对xml文档的解析2
- Java线程和多线程(五)——单例类中的线程安全
- C++运算符重载一些大牛的见解与实例
- Cococs2d-x之文件操作
- 安卓自定义View基础-颜色
- Redis源码简要分析
- 【汇总】河海大学科学技术哲学考研2008-2016年报录比
- stm32单片机中断向量偏移地址设置时的对齐要求
- 安卓手机卫士学习笔记系列——GestureDetector手势识别器的使用