注册本站  论坛  繁體中文

电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> 网页设计 >> XML >> 网页设计正文

XPath 初学者入门教程:XPath 语法

文章来源:网页教学网 作者:站长整理 更新时间:2007-10-6 16:51:00 【 】 【加入收藏

XPath使用路径表达式来选取XML文档中的节点或节点集。节点是通过沿着某个路径(path)或者步(step)来选取的。


XML实例文档

我们将在下面的例子中使用这个XML文档。

<?xml version="1.0" encoding="ISO-8859-1"?>

<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>

</bookstore>

选取节点

XPath使用路径表达式在XML文档中选取节点。节点是通过沿着某个路径或者step来选取的。

下面列出了最有用的路径表达式:

表达式 描述
nodename 选取此节点的所有子节点
/ 从根节点选取
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性

实例

在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:

路径表达式 结果
bookstore 选取bookstore元素的所有子节点
/bookstore

选取bookstore根元素

注释:假如路径起始于正斜杠( / ),则此路径为到某元素的绝对路径!

bookstore/book 选取所有属于bookstore的子元素的book元素。
//book 选取所有book子元素,而不管它们在文档中的位置。
bookstore//book 选择所有属于bookstore元素的后代的book元素,而不管它们位于bookstore之下的什么位置。
//@lang 选取所有名为lang的属性。


谓语(Predicates)

谓语用来查找某个特定的节点或者包含某个指定的值的节点。

谓语被嵌在方括号中。

实例

在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:

路径表达式 结果
/bookstore/book[1] 选取属于bookstore子元素的第一个book元素。
/bookstore/book[last()] 选取属于bookstore子元素的最后一个book元素。
/bookstore/book[last()-1] 选取属于bookstore子元素的倒数第二个book元素。
/bookstore/book[position()<3] 选取最前面的两个属于bookstore元素的子元素的book元素。
//title[@lang] 选取所有拥有名为lang的属性的title元素。
//title[@lang='eng'] 选取所有title元素,且这些元素拥有值为eng的lang属性。
/bookstore/book[price>35.00] 选取所有bookstore元素的book元素,且其中的price元素的值须大于35.00。
/bookstore/book[price>35.00]/title 选取所有bookstore元素中的book元素的title元素,且其中的price元素的值须大于35.00。


选取未知节点

XPath通配符可用来选取未知的XML元素。

通配符 描述
* 匹配任何元素节点
@* 匹配任何属性节点
node() 匹配任何类型的节点

实例

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

路径表达式 结果
/bookstore/* 选取bookstore元素的所有子节点
//* 选取文档中的所有元素
//title[@*] 选取所有带有属性的title元素。

选取若干路径

通过在路径表达式中使用“|”运算符,您可以使用选取若干个路径。

实例

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

路径表达式 结果
//book/title | //book/price 选取所有book元素的tilte和price元素。
//title | //price 选取所有文档中的title和price元素。
/bookstore/book/title | //price 选取所有属于bookstore元素的book元素的title元素,以及文档中所有的price元素。

  • 上一篇网页设计:

  • 下一篇网页设计:
  • 最 新 热 门
     Flash教程:if条件语句的用法
     Flash教程:测试AS代码的执行速度
     Flash教程:trace()的使用
     实现在AJAX下的前进、后退功能
     创建吸引访问者的网站内容的14种方法
     LBS功能:图片的自适应实现代码
     LBS增加引用地址和永久地址点击复制功能
     学习CSS布局网页的一些实例
     CSS学习者:2008年不要作浮躁的人
     网页设计制作之改进超级链接效果
    最 新 推 荐
     学习XML关于图像超链接的制作
     使用XML实现多渠道接入网站的构架
     将XML数据转换成HTML
     历数Firefox2.0对XML处理的改进
     用XML将机器内码转换为人们容易理解的信息
     Microsoft的XMLHTTP对象介绍
     XQuery 初学者入门教程:XQuery 术语和语法
     XQuery 初学者入门教程:XQuery FLWOR + HT…
     XQuery 初学者入门教程:XQuery FLWOR 表达…
     jQuery入门简介
    相 关 文 章

    浏览器Quirksmode模式与CSSCompat模式
    FrontPage设计网页禁用JavaScript
    css里expression实现界面对象的批量控制
    用Flash AS制作时钟(Date类)
    设计网页FrontPage2000的一些基础问答
    分享FrontPage制作网页的几个技巧
    轻松利用FrontPage做站内搜索
    网页字体在Frontpage2000制作网页中的讲解
    制作网页使用FrontPage
    Frontpage制作网页初学问题解答

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    本网站所有内容未经许可不得转载或做其他使用