`
vbtboy
  • 浏览: 47891 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

xpath小例子

阅读更多
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的一些例子

    XPath,全称XML Path Language,是一种在XML文档中查找信息的语言。它被广泛用于选取XML节点,包括元素、属性、文本等。XPath基于路径表达式来选取XML文档中的节点,这些表达式类似于文件系统中的路径地址,比如"/...

    xpath的jar包

    这个例子展示了如何使用Jaxen解析XML字符串,编译XPath表达式`//element[@attr='value']`,并从XML文档中找到匹配的元素节点。 总的来说,XPath的jar包如Jaxen为Java开发者提供了一种强大且灵活的方式来处理XML数据...

    C# 写的测试XPath 的小工具

    结合题目中的“C#写的测试XPath的小工具”,我们可以探讨如何在C#中使用XPath,以及创建这样的测试工具的基本步骤。 首先,要使用XPath在C#中处理XML文档,你需要引入System.Xml命名空间,其中包含XPathNavigator和...

    XPath依赖Jar包

    这个例子中,我们首先加载了一个XML文件,然后创建了一个XPath对象。通过`XPath.compile()`方法编译了XPath表达式,该表达式用于选取根元素下的具有特定属性值的元素。接着,`expr.evaluate()`执行表达式并返回结果...

    xPath-API文档

    6. 使用XPath:在XSLT、DOM解析和其他XML处理中应用XPath的例子。 7. 实战演练:提供一系列练习题,帮助读者巩固XPath知识。 8. 常见问题与解决:解答XPath使用中可能遇到的问题。 学习XPath对于XML处理非常重要,...

    xslt,xpath的例子和语法。非常全面。对于学习xml+xslt技术的人一定有帮助

    XPath(XML Path Language)则是用于在XML文档中查找信息的语言,它可以选取节点、计算表达式以及执行其他查询任务。 **XSLT知识点:** XSLT是一种强大的工具,用于将XML文档转换成不同的格式,如HTML、PDF或者...

    Java中使用xpath获取xml中的数据

    在Java编程环境中,XPath是一种强大的查询语言,用于在XML文档中查找信息。它允许我们根据节点的名称、属性、值或其他特性来定位XML文档中的特定部分。本篇将深入探讨如何在Java中利用XPath来提取XML文档中的数据,...

    xpath helper2.rar

    举个例子,如果我们要从一个HTML页面中获取所有链接,可以使用以下XPath表达式: ```xpath //a/@href ``` 这个表达式选取了所有`&lt;a&gt;`标签的`href`属性值。 另外,XPath还支持逻辑运算和函数,如`contains()`、`...

    XPath基础.docx

    在例子中,如果我们要选取`&lt;h2&gt;`标签,可以使用`/html/body/h2`。这表示从根节点`&lt;html&gt;`开始,然后选取`&lt;body&gt;`子节点,最后选取`&lt;h2&gt;`。 3. **任意位置的选择**:`//`符号用于选取文档中任何位置的节点。比如,要...

    xpath应用学习小实验

    在这个“xpath应用学习小实验”中,我们将探讨XPath的基本用法、选择器以及如何在Python中使用它们。 首先,XPath主要通过路径表达式来选取XML或HTML文档中的节点,如元素、属性、文本等。路径表达式分为绝对路径和...

    javascript-xpath-latest.js

    javascript-xpath, 虽然比firefox还是慢,但也快多了,上面的例子只需要不 到1秒。换法很简单,如下: selenium = new DefaultSelenium(location, port, browser, targetPath); selenium.start(); selenium....

    XPath.chm参考手册

    这个例子中,我们首先创建了一个XPathFactory对象,然后使用它创建了一个XPath对象。接着,我们加载了一个XML文件并解析为DOM文档。通过XPath的`compile`方法编译了一个XPath表达式,用于选取价格大于35的`book`元素...

    xpath_test.rar

    这个"xpath_test"项目可能是为了演示如何在C++环境下,使用QT库中的QXmlQuery类进行XPath操作,对于需要在C++中处理XML数据的开发者来说,这是一个非常实用的例子。理解并掌握这个过程,能够帮助你更好地在C++环境中...

    Java开源的xpath解析器Jsoupxpath.zip

    为了在java里也享受xpath的强大与方便但又苦于找不到一款足够强大的xpath解析器,故开发了JsoupXpath。JsoupXpath的实现逻辑清晰,扩展方便,支持几乎全部常用的xpath语法.http://www.cnblogs.com/ 为例 "//a/@href...

    C# xpath 最新应用语法

    这个例子展示了如何选取类别为"计算机"的所有书籍,并打印出它们的标题。 XPath的灵活性和效率使得它成为C#中处理XML数据的首选工具。通过熟练掌握XPath的语法,开发者可以高效地解析、查询和操作XML文档,从而提升...

    xml.rar_XPath查询_xpath

    描述中的“使用java来执行各种xpath查询的例子”意味着这个压缩包包含了Java代码示例,展示了如何利用XPath处理XML数据。这些例子可能包括选取特定元素、过滤节点、访问属性、甚至执行更复杂的导航和计算。 标签...

    XPath 教程.docx

    举个例子,对于以下XML文档: ```xml &lt;title lang="eng"&gt;Harry Potter &lt;price&gt;29.99 &lt;title lang="eng"&gt;Learning XML &lt;price&gt;39.95 ``` 以下XPath表达式将选取不同的内容: - `bookstore`:选取...

    Dom4J采用XPath操纵XML教程及例子

    在处理XML文档时,XPath(XML Path Language)作为一种强大的查询语言,能够帮助我们快速定位到XML文档中的特定节点。本教程将重点介绍如何使用Java中的Dom4J库,结合XPath来高效地操作XML。 首先,让我们了解Dom4J...

    XPath 使用方法

    #### 五、XPath在实际应用中的例子 以下是一些 XPath 表达式的示例: - **选取所有的书名**:`//book/title` - **选取作者为 JK.Rowling 的书**:`//book[author='JK.Rowling']` - **选取价格大于 30 的书**:`//...

    XPath 简单语法

    ### XPath简单语法详解 #### 一、XPath简介 XPath是一种在XML文档中查找信息的语言,类似于HTML中的CSS选择器或SQL中的查询语句。...通过这些具体的例子,我们可以更深入地了解XPath在实际应用中的灵活性和强大功能。

Global site tag (gtag.js) - Google Analytics