/**
* XPath获取属性值
* @param root
* @param xPath
* @return
*/
public static String getXPathAttributeValue(Element root, String xPath){
XPathExpression<Attribute> pp = XPathFactory.instance().compile(xPath,Filters.attribute());
return pp.evaluateFirst(root).getValue();
} /**
* XPath获取节点值
* @param root 主节点
* @param xPath XPath字符串
* @return 没有找到返回null
*/
public static String getXPathText(Element root, String xPath){
XPathExpression<Text> pp = XPathFactory.instance().compile(xPath,Filters.text());
return pp.evaluateFirst(root).getText();
} /**
* XPath获取节点
* @param root 主节点
* @param xPath XPath字符串
* @return 没有找到返回null
*/
public static Element getXPathNode(Element root, String xPath){
XPathExpression<Element> pp = XPathFactory.instance().compile(xPath,Filters.element());
return pp.evaluateFirst(root);
} /**
* XPath获取节点集合
* @param root 主节点
* @param xPath XPath字符串
* @return XPath得到的节点集合
*/
public static List<Element> getXPathNodes(Element root, String xPath){
XPathExpression<Element> pp = XPathFactory.instance().compile(xPath,Filters.element());
return pp.evaluate(root);
}

JDom2的Xpath的获取关键在XPathExpression、XPathFactory身上.

JDom2的Xpath使用的更多相关文章

  1. 如何从代码层防御10大安全威胁中的 Xpath Injection?

    普遍性和可检测性: Xpath 注入是 OWASP TOP10 安全威胁中 A1 Injection 中的一种,注入漏洞发生在应用程序将不可信的数据发送到解释器时.虽然注入漏洞很容易通过审查代码发现, ...

  2. Xpath解析xml

    Xpath解析xml其实最主要的是查找xml文档中信息,而且不需要了解xml文档结构 package com.huawei.xml; import java.io.InputStream;import ...

  3. xpath提取多个标签下的text

    title: xpath提取多个标签下的text author: 青南 date: 2015-01-17 16:01:07 categories: [Python] tags: [xpath,Pyth ...

  4. C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)

    第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel, ...

  5. 在Java中使用xpath对xml解析

    xpath是一门在xml文档中查找信息的语言.xpath用于在XML文档中通过元素和属性进行导航.它的返回值可能是节点,节点集合,文本,以及节点和文本的混合等.在学习本文档之前应该对XML的节点,元素 ...

  6. XPath 学习二: 语法

    XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. 下面列出了最有用的路径表达式: 表达式 描述 nodename 选 ...

  7. xpath 学习一: 节点

    xpath 中,有七种类型的节点: 元素.属性.文本.命名空间.处理指令.注释.以及根节点 树的根成为文档节点或者根节点. 节点关系: Parent, Children, sibling(同胞), A ...

  8. Python爬虫利器三之Xpath语法与lxml库的用法

    前面我们介绍了 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法.如果大家对 Beau ...

  9. 使用python+xpath 获取https://pypi.python.org/pypi/lxml/2.3/的下载链接

    使用python+xpath 获取https://pypi.python.org/pypi/lxml/2.3/的下载链接: 使用requests获取html后,分析html中的标签发现所需要的链接在& ...

随机推荐

  1. 移动端设置字体px转换rem的脚本

    (function (){ var _self = this; _self.width = 640;//设置默认最大宽度 _self.fontSize = 100;//默认字体大小 _self.wid ...

  2. 如何在VISIO 2010/2013 中关闭Shape protection(图形保护)

    最近在画UML图,用到MS visio 2010, 在使用一些网络查找到的图形的时候发现无法编辑,在网上找了找,翻译了下. Visio 2013 的图形保护功能,可以锁定图形的某些特定属性,使其无法被 ...

  3. 当执行太多不受信任的代码时,除去令人讨厌的大量 trycatch 的办法

    如果方法 Condition 返回 true,则执行 IfTrue,否则执行 IfFalse,发生异常则执行 IfError. 通常是这样: try { if (Condition()) { try ...

  4. 【翻译】安卓新播放器EXOplayer介绍

    http://developer.android.com/guide/topics/media/exoplayer.html   前言: Playing videos and music is a p ...

  5. tomcat-maven-plugin

    tomcat-maven-plugin , 我们可以使用这个插件把web应用一键式的部署到一个远程的tomcat中.   步骤1  : 修改 tomcat/conf/tomcat-users.xml ...

  6. guava学习--FutureFallback

    FutureFallback提供一个Future的备用来替代之前失败的Future,常被用来作为Future的备份或者默认的值. @Testpublic void testFuturesFallbac ...

  7. a链接中套a链接

    <a href="baidu.com"> <div> <div class="title">百度</div> & ...

  8. Lex&Yacc Parser错误发生后再次parser之前恢复初始状态

    使用lex yacc 对文件进行parser时,如果文件内容有错,parser报错,然后你修改了文件,再次读入文件进行parser,如果你不是重启程序进行parser,那就需要对做些处理了. &quo ...

  9. Centos 6.5 安装 ionCube PHP Loader

    使用某些php的程序的时候会出现提示:Site error: the file /***/index.php requires the ionCube PHP Loader ioncube_loade ...

  10. iOS_TCP和UDP的详解

    TCP和UDP面试经常被问到,一些初学者也经常问我这种问题,由于TCP协议和UDP协议是基于三次“对话”,解释起来很费劲,所以在这里详细的描述一下自己对TCP协议和UDP协议的理解,如有不妥之处,望指 ...