站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
XPath
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
'''XPath'''即为[[XML]]路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。 ==简介== XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。 '''什么是 XPath?''' *XPath 使用路径表达式在 XML 文档中进行导航 *XPath 包含一个标准函数库 *XPath 是 [[XSLT]] 中的主要元素 *XPath 是一个 W3C 标准 ==XPath 表示法== 最常见的XPath表达式是路径表达式(XPath这一名称的另一来源)。路径表达式是从一个XML节点(当前的上下文节点)到另一个节点、或一组节点的书面步骤顺序。这些步骤以“/”字符分开,每一步有三个构成成分: *轴描述(用最直接的方式接近目标节点) *节点测试(用于筛选节点位置和名称) *节点描述(用于筛选节点的属性和子节点特征) 一般情况下,我们使用简写后的语法。虽然完整的轴描述是一种更加贴近人类语言,利用自然语言的单词和语法来书写的描述方式,但是相比之下也更加罗嗦。 '''简写后的语法最简单的XPath如下:''' */A/B/C 在这里选择所有符合规矩的C节点:C节点必须是B的子节点(B/C),同时B节点必须是A的子节点(A/B),而A是这个XML文档的根节点(/A)。此时的这种描述法类似于磁盘中文件的路径(URI),从盘符开始顺着一级一级的目录最终找到文件。 这里还有一个复杂一些的例子,包含了全部构成成分(请详细的看): *A//B/*[1] 此时选择的元素是:在B节点下的第一个节点(B/*[1]),不论节点的名称如何(*);而B节点必须出现在A节点内,不论和A节点之间相隔几层节点(//B);与此同时A节点还必须是当前节点的子节点(A,前边没有/)。 '''啰嗦的语法在未缩写语法里,两个上述范例可以写为:''' */child::A/child::B/child::C *child::A/descendant-or-self::B/child::node()[1] 在XPath的每个步骤里,通过完整的轴描述(例如:child或descendant-or-self)进行明确的指定,然后使用::,它的后面跟着节点测试的内容,例如上面范例所示的A以及node()。 ==XPath 标准函数== XPath 含有超过 100 个内建的函数。这些函数用于字符串值、数值,日期和时间比较、节点和 QName 处理、序列处理、逻辑值等等。 ==XPath 节点== 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。 XPath 术语 节点(Node) 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。 ==XPath存取函数== 名称 说明 fn:node-name(node) 返回参数节点的节点名称。 fn:nilled(node) 返回是否拒绝参数节点的布尔值。 fn:data(item.item,...) 接受项目序列,并返回原子值序列。 fn:base-uri() fn:base-uri(node) 返回当前节点或指定节点的 base-uri 属性的值。 fn:document-uri(node) 返回指定节点的 document-uri 属性的值。 ==函数与运算符XPath== 1.0定义四种数据型别:节点型(本身无序的节点组)、字符串型、数字型、与布尔型。 有效的运算符有: */、//以及..运算符,一般用于轴描述。 *合集运算符 | 把两个节点形成联集。 *布尔运算符 and、or以及not()函数 *数学运算符 +、-、*、div(除)以及mod(取余数) *比较操作子 =、!=(不等于)、<、>、<=、>= 函数有: *文字运算函数 concat(), substring(), contains(), substring-before(), substring-after(), translate(), normalize-space(), string-length() *数学运算函数 sum(), round(), floor(), ceiling() *节点属性取得函数 name(), local-name(), namespace-uri() *处理上下文数据取得函数 position(), last() *类型转换函数 string(), number(), boolean() ==XPath 2.0== 在W3C建议下,XPath 1.0于1999年11月16日发表。XPath 2.0目前正在[[W3C]]审核过程的最终阶段。XPath 2.0表达了XPath语言在大小与能力上显著的增加。 最值得大书特书的改变是XPath 2.0有了更丰富的型别系统;XPath 2.0支持不可分割型态,如在XML Schema内建型态定义一样,并且也可自纲要(schema)导入用户自定型别。现在每个值都是一个序列(一个单一不可分割值或节点都被视为长度一的序列)。XPath 1.0节点组被节点序列取代,它可以是任何顺序。 为了支持更丰富的型别组,XPath 2.0提供相当延展的函式与操作子群。 XPath 2.0实际上是XQuery 1.0的子集合。它提供了一个for表达式。该式是[[XQuery]]里“FLWOR”表达式的缩减版。利用列出XQuery省去的部分来描述该语言是可能的。主要范例是查询前导语(query prolog)、元素和属性建构式、“FLWOR”语法的余项式、以及typeswitch表达式。 ==相关条目== *[[XSLT]] *[[CSS]] *[[XML]] ==参考来源== *http://baike.baidu.com/view/307399.htm [[category:XML]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)