package com.myapp.utils;
import java.io.File;
import java.util.Iterator;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathFactory;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
public class XpathStudy {
public static void main(String args[]) {
try {
File file = new File(
"D:\\workspace\\MyHome\\src\\com\\myapp\\utils\\test.xml");
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(file);
// NodeList nodeList = document.getElementsByTagName("book");
// for(int i=0;i<nodeList.getLength();i++){
// System.out.println(document.getElementsByTagName("title").item(i).getFirstChild().getNodeValue());
// System.out.println(document.getElementsByTagName("price").item(i).getFirstChild().getNodeValue());
// }
XPathFactory xpathFactory =XPathFactory.newInstance();
XPath xpath = xpathFactory.newXPath();
XPathExpression expression = xpath.compile("bookstore//book/title[@lang='guo']/text()");
Object result = expression.evaluate(document,XPathConstants.NODESET);
NodeList nodeList = (NodeList)result;
for (int i = 0; i < nodeList.getLength(); i++) {
System.out.println(nodeList.item(i).getNodeValue());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
另附js方法实现
var xmlDoc = new ActiveXObject("Microsoft.xmldom");
xmlDoc.async="false";
xmlDoc.load("test.xml");
alert(xmlDoc.selectNodes("bookstore/book/title[@lang='guo']")[0].text);
text.xml
<?xml version="1.0" encoding="gbk"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
<book>
<title lang="guo">郭德纲相声选</title>
<price>$0.01</price>
</book>
</bookstore>
分享到:
相关推荐
XPath,全称XML Path Language,是一种在XML文档中查找信息的语言。它被广泛用于选取XML节点,包括元素、属性、文本等。XPath基于路径表达式来选取XML文档中的节点,这些表达式类似于文件系统中的路径地址,比如"/...
这个例子展示了如何使用Jaxen解析XML字符串,编译XPath表达式`//element[@attr='value']`,并从XML文档中找到匹配的元素节点。 总的来说,XPath的jar包如Jaxen为Java开发者提供了一种强大且灵活的方式来处理XML数据...
结合题目中的“C#写的测试XPath的小工具”,我们可以探讨如何在C#中使用XPath,以及创建这样的测试工具的基本步骤。 首先,要使用XPath在C#中处理XML文档,你需要引入System.Xml命名空间,其中包含XPathNavigator和...
这个例子中,我们首先加载了一个XML文件,然后创建了一个XPath对象。通过`XPath.compile()`方法编译了XPath表达式,该表达式用于选取根元素下的具有特定属性值的元素。接着,`expr.evaluate()`执行表达式并返回结果...
6. 使用XPath:在XSLT、DOM解析和其他XML处理中应用XPath的例子。 7. 实战演练:提供一系列练习题,帮助读者巩固XPath知识。 8. 常见问题与解决:解答XPath使用中可能遇到的问题。 学习XPath对于XML处理非常重要,...
XPath(XML Path Language)则是用于在XML文档中查找信息的语言,它可以选取节点、计算表达式以及执行其他查询任务。 **XSLT知识点:** XSLT是一种强大的工具,用于将XML文档转换成不同的格式,如HTML、PDF或者...
在Java编程环境中,XPath是一种强大的查询语言,用于在XML文档中查找信息。它允许我们根据节点的名称、属性、值或其他特性来定位XML文档中的特定部分。本篇将深入探讨如何在Java中利用XPath来提取XML文档中的数据,...
举个例子,如果我们要从一个HTML页面中获取所有链接,可以使用以下XPath表达式: ```xpath //a/@href ``` 这个表达式选取了所有`<a>`标签的`href`属性值。 另外,XPath还支持逻辑运算和函数,如`contains()`、`...
在例子中,如果我们要选取`<h2>`标签,可以使用`/html/body/h2`。这表示从根节点`<html>`开始,然后选取`<body>`子节点,最后选取`<h2>`。 3. **任意位置的选择**:`//`符号用于选取文档中任何位置的节点。比如,要...
在这个“xpath应用学习小实验”中,我们将探讨XPath的基本用法、选择器以及如何在Python中使用它们。 首先,XPath主要通过路径表达式来选取XML或HTML文档中的节点,如元素、属性、文本等。路径表达式分为绝对路径和...
javascript-xpath, 虽然比firefox还是慢,但也快多了,上面的例子只需要不 到1秒。换法很简单,如下: selenium = new DefaultSelenium(location, port, browser, targetPath); selenium.start(); selenium....
这个例子中,我们首先创建了一个XPathFactory对象,然后使用它创建了一个XPath对象。接着,我们加载了一个XML文件并解析为DOM文档。通过XPath的`compile`方法编译了一个XPath表达式,用于选取价格大于35的`book`元素...
这个"xpath_test"项目可能是为了演示如何在C++环境下,使用QT库中的QXmlQuery类进行XPath操作,对于需要在C++中处理XML数据的开发者来说,这是一个非常实用的例子。理解并掌握这个过程,能够帮助你更好地在C++环境中...
为了在java里也享受xpath的强大与方便但又苦于找不到一款足够强大的xpath解析器,故开发了JsoupXpath。JsoupXpath的实现逻辑清晰,扩展方便,支持几乎全部常用的xpath语法.http://www.cnblogs.com/ 为例 "//a/@href...
这个例子展示了如何选取类别为"计算机"的所有书籍,并打印出它们的标题。 XPath的灵活性和效率使得它成为C#中处理XML数据的首选工具。通过熟练掌握XPath的语法,开发者可以高效地解析、查询和操作XML文档,从而提升...
描述中的“使用java来执行各种xpath查询的例子”意味着这个压缩包包含了Java代码示例,展示了如何利用XPath处理XML数据。这些例子可能包括选取特定元素、过滤节点、访问属性、甚至执行更复杂的导航和计算。 标签...
举个例子,对于以下XML文档: ```xml <title lang="eng">Harry Potter <price>29.99 <title lang="eng">Learning XML <price>39.95 ``` 以下XPath表达式将选取不同的内容: - `bookstore`:选取...
在处理XML文档时,XPath(XML Path Language)作为一种强大的查询语言,能够帮助我们快速定位到XML文档中的特定节点。本教程将重点介绍如何使用Java中的Dom4J库,结合XPath来高效地操作XML。 首先,让我们了解Dom4J...
#### 五、XPath在实际应用中的例子 以下是一些 XPath 表达式的示例: - **选取所有的书名**:`//book/title` - **选取作者为 JK.Rowling 的书**:`//book[author='JK.Rowling']` - **选取价格大于 30 的书**:`//...
### XPath简单语法详解 #### 一、XPath简介 XPath是一种在XML文档中查找信息的语言,类似于HTML中的CSS选择器或SQL中的查询语句。...通过这些具体的例子,我们可以更深入地了解XPath在实际应用中的灵活性和强大功能。