xpath 学习

[java] view plaincopy
import java.io.IOException;  

import javax.xml.parsers.*;
import javax.xml.xpath.*;
import org.w3c.dom.*;
import org.xml.sax.SAXException;  

public class XpathTest {  

    public static void main(String[] args) throws ParserConfigurationException,
            SAXException, IOException, XPathExpressionException {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(false);
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document doc = builder.parse("C:/Users/Administrator/Desktop/test.xml");
        System.out.println(doc.getChildNodes().getLength());
        XPathFactory xFactory = XPathFactory.newInstance();
        XPath xpath = xFactory.newXPath();
        XPathExpression expr = xpath
                .compile("//name/text()");
        Object result = expr.evaluate(doc, XPathConstants.NODESET);
        NodeList nodes = (NodeList) result;
        System.out.println(nodes.getLength());
        for (int i = 0; i < nodes.getLength(); i++) {
            System.out.println(nodes.item(i).getNodeValue());
        }
    }  

}

  

时间: 2024-11-13 06:57:15

xpath 学习的相关文章

HtmlAgilityPackage XPath学习

原文:HtmlAgilityPackage XPath学习 最近的开发中要用到htmlAgilityPackage, 所以记录一下XPath相关知识! XPath 简介 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历.XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上.因此,对 XPath 的理解是很多高级 XML 应用的基础. 其实对些我们并不陌生,最与XP

XML Xpath学习

Xpath是一门在xml文档中查找信息的语言. Xpath可用来在xml文档中对元素和属性进行遍历. <1>路径表达式1: 斜杠(/)作为路径内部的分隔符 同一个路径有绝对路径和相对路径两种写法 绝对路径:必须用"/"起首,后面紧跟根节点.如/step/setp 相对路径:不用"/"起首.如step/step "."表示当前节点 ".."表示当前路径的父节点 <2>路径表达式2: nodename(节点

XPath学习:轴(3)——descendant

转自:http://www.cnblogs.com/zhaozhan/archive/2009/09/10/1563723.html 感谢无风 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历. XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上. 推荐一个挺不错的网站:http://www.zvon.org/xxl/XPathTutorial/General_

XPath学习:parent,child

XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历. XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上. 推荐一个挺不错的网站:http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html  里面有很不错的例子,下面的例子中红色字体表示使用对应语法获取的元素(或属性). XPath轴(XPath

scrapy爬虫必需品--------xpath学习

XPath 路径表达式 XPath 使用路径表达式来选取 XML 文档中的节点或者节点集.这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. 节点 在 XPath 中,有七种类型的节点:元素.属性.文本.命名空间.处理指令.注释以及文档(根)节点.XML 文档是被作为节点树来对待的.树的根被称为文档节点或者根节点. 请看下面这个 XML 文档: <?xml version="1.0" encodin

python+selenium元素定位之XPath学习01

参考文档1:https://www.w3school.com.cn/xpath/xpath_syntax.asp 参考文档2:https://www.runoob.com/xpath/xpath-tutorial.html XML 实例文档 我们将在下面的例子中使用这个 XML 文档: <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title

python+selenium元素定位之XPath学习02

XPath 语法 XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. XML 实例文档 我们将在下面的例子中使用这个 XML 文档. 实例 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book> <title lang="eng">Harry Potter&l

xpath学习笔记

符号. //表示当前节点.. //父节点/ //根目录// //节点下的任意位置 高级应用:"ul//em" 表示ul节点下任意位置的em@ //含某属性的节点 //@title 那么 <li class='a' title='1'>满足 和其他组合在一起就报错| //a|b 选择a和b元素* //所有节点node() //所有节点 还包含里面的值 比如<i>1</i> 1也是一个对象元素 这是和*的不同之处text() //所有文字节点 node(

【Xpath学习】xpath都不会,说什么你做网站自动化测试的?

嗯我确实不太会.感觉我写的随笔很渣,不一定对,大家不要被我误导了,最好不要看.我也尽量保证写出来都是对的. 首先这俩给我搞晕了 1. // 不管层级:  相对路径 2. /  care 层级: 表示到一个元素的绝对路径 3. //DDD/BBB: 混合的咋解释? 所有的DDD元素下的BBB元素,不管在哪里 4. *号表示选则星号之前的路径所定位的元素 //*: 选中所有元素 /*/*/*/BBB: 这种,有仨个祖先元素的BBB元素 5. [数字]  : 你要选该路径限定的元素中的第几个? 用[n