`
endual
  • 浏览: 3568458 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Xpath解析HTML或者XML

    博客分类:
  • java
 
阅读更多

 

什么是XPath?

分类: java web 开发 1469人阅读 评论(1) 收藏 举报
XPath是一个获取XML文档中你所需要的节点元素的组件。它允许你用很少的代码就能获取指定的路径下你所选取的节点的值。例如,你有一个类似下面的XML文档:

程序代码 程序代码


<products>
 <product SKU="7123734">

  <name>Big Metal Pot</name>
  <price>19.95</price>
 </product>

 <product SKU="752585">
  <name>Plate</name>

  <price>12.95</price>
 </product>
 <product SKU="4182476">

  <name>Spoon</name>
  <price>4.95</price>

 </product>
</products>




你可以用下面的代码来获取产品的种类
myXPathDocument.selectNodes("/products/product");

你也可以用这样的代码来获得所有产品中价格超过5美圆的产品:
myXPathDocument.selectNodes("/products/product[./price > 5]");

你也可以获取所有的 SKUs 就像这样:
myXPathDocument.selectNodes("/products/product/@sku");  

---------------------------------------------------------------------------------------------------

XPath 规范基本上遵循与文件系统寻址相同的规则:

  • 如果 XPath 表达式以斜杠 (/) 开头,代表的是 XML 元素的绝对路径(从 XML 文档的根开始)。
  • 如果 XPath 表达式以双斜杠 (//) 开头,则会选择当前文档中符合指定条件的所有元素,而不考虑它们在 XML 文档中的位置。例如,//employee 会查找 XML 文档中的所有员工节点。
  • 星号 (*) 会选择由前面的路径定位的所有 XML 元素。例如,/company/department/* 选择一个部门的所有子节点,即该部门的所有员工。
  • 点 (.) 选择当前的节点,两个点 (..) 选择父节点。例如,用于选择某个员工所在的部门的 XPath 表达式就是../employee
  • 要选择属性,请使用 @ 字符。例如,/company/department/employee[@retired] 选择指定了 retired 属性的所有员工。
分享到:
评论

相关推荐

    xpath解析xml

    在本篇文章中,我们将深入探讨如何利用XPath来解析XML文件,并且会提及如何通过XPath操作Map集合,从而避免过多地生成Java Bean类。 首先,理解XML文档的结构至关重要。XML是一种标记语言,用于存储数据,其结构...

    解析xml文件并且保存xpath

    本文将深入探讨如何解析XML文件并利用XPath(XML Path Language)选取特定节点,以及可能涉及到的相关工具和源码分析。 一、XML基本概念 XML是一种自描述性的文本格式,它通过标签来描述数据的结构和内容。与HTML...

    xpath解析

    XPath(XML Path Language)是一种在XML文档...`XPathGetResultAction.java`和`zxccp-das-dfs-emf.xml`这两个文件的结合,为我们提供了一个实际应用XPath解析XML的实例,可以帮助我们更好地学习和掌握XPath的相关知识。

    基于Xpath的xml文件查询和更新

    更新XML文件通常涉及DOM(Document Object Model)解析,将XML文件加载到内存中形成一个可操作的树形结构。例如,使用Python的`lxml`库: ```python from lxml import etree # 加载XML tree = etree.parse('...

    kettle 解析xml xml文档,配合kettle 解析xml stax方法,完整解析案例使用

    与上一个版本一起使用可以可以起到提高效率的目的。本人解析xml的真实文档

    java使用xpath解析xml示例分享

    在Java中,XPath被用来解析XML文档,查找和操作XML中的特定节点。XPath基于XML文档的树形结构,允许我们通过简洁的表达式定位到树中的任何节点,包括元素、属性、文本等。以下是使用Java的XPath API解析XML文档的一...

    采用XPATH在线查询XML文件的搜索引擎源码

    4. **数据库集成**:可能涉及到将XML数据存储在关系型数据库中,如SQL Server,或者使用NoSQL数据库,如MongoDB,用于存储和检索XML文件。 5. **前端交互**:用户界面可能使用HTML、CSS和JavaScript构建,与后端ASP...

    用XPath 表达式从 XML 文档中提取信息

    在实际应用中,XPath广泛用于XSLT(一种XML转换语言)和各种编程语言(如Java、Python、JavaScript)的XML处理库中,以方便地解析和操作XML数据。例如,在Python的`lxml`库中,可以使用`xpath()`方法执行XPath表达式...

    XPath 教程 关于 XML语言解析

    XPath是XML解析中的强大工具,其简洁的语法和强大的功能使其成为处理XML数据的首选方法。通过学习和熟练掌握XPath,开发者可以更高效地导航和操作XML文档,无论是在Web开发、服务器端脚本还是其他XML相关的应用程序...

    XML.rar_XML解析_c# xml_xml_xml C解析_解析xml

    1. **DOM解析**:Document Object Model(DOM)是XML和HTML的标准表示模型。在C#中,我们可以使用`System.Xml`命名空间中的`XmlDocument`类来加载整个XML文档到内存中,然后通过遍历DOM树来访问和修改数据。例如: ...

    08.xpath解析1

    由于 HTML 可以视为不严格的 XML,XPath 也适用于解析 HTML。 在 HTML 解析中,XPath 主要有以下几种基本用法: 1. `/`:根路径。例如,`/book` 选取文档中所有 `&lt;book&gt;` 元素。 2. `//`:任意位置路径。例如,`//...

    XML通用解析工具类

    XML解析工具有多种类型,包括DOM(Document Object Model)、SAX(Simple API for XML)、StAX(Streaming API for XML)以及XPath和XSLT等。每种解析方式有其优缺点,适用于不同的场景。 1. DOM解析器:它将整个...

    DOM操作XML,XPATH技术

    XPath是查询XML文档的强大工具,它可以定位到文档中的特定节点,或者选取一组节点。XPath表达式的语法简洁,支持多种运算符和函数,如: 1. **节点选择**:`/`用于选取根节点,`.`代表当前节点,`..`代表父节点,`*...

    数据爬取_xpath解析器1

    XPath(XML Path Language)是一种在XML文档中查找信息的语言,它也可以用于HTML文档的解析。在Python中,XPath常与库如`lxml`或`BeautifulSoup`结合使用,进行网页数据抓取。本篇将详细介绍XPath在数据爬取中的核心...

    爬虫技术-Xpath解析数据.pptx

    爬虫技术是网络数据抓取的重要手段,而Xpath则是爬虫中用于解析HTML或XML文档的关键技术。Xpath全称为XML Path Language,它设计用于在XML和HTML文档中查找、选取特定的信息。通过学习和掌握Xpath,我们可以高效地从...

    xml.zip_XML 解析_XML解析_xml linux

    1. **libxml2库**:这是Linux中最常用的XML解析库,它提供了XML解析、DOM(Document Object Model)操作、XPath查询等功能。你可以使用`xmllint`命令行工具来验证XML文件的语法或者简单地打印出文件内容。 ```bash...

    php用xpath解析html的代码实例讲解

    在本篇文章中,我们将深入理解如何使用XPath与PHP结合来解析HTML。 实例1: 在第一个实例中,我们首先使用`simplexml_load_file`函数加载一个网页(这里是"https://forums.eveonline.com")到一个SimpleXMLElement...

    iphone hpple 解析html,xml

    在iOS开发中,有时我们需要解析HTML或XML文档,获取其中的数据。`hpple`是一个用于Objective-C的HTML解析器,它使得在iPhone应用中处理HTML内容变得更加简单。本篇文章将详细探讨`hpple`库以及如何使用它来解析HTML...

Global site tag (gtag.js) - Google Analytics