`
ritcher
  • 浏览: 82315 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XPath语言入门

阅读更多

 XPath语言是使用路径表达式确定XML文档结点. 所有的XML元素必须合理包含,且所有的XML文档必须有一个根元素。如同HTML一样,XML元素同样也可以拥有属性。XML元素的属性以名字/值成对的出现。XML语法规范要求XML元素属性值必须用引号引着。
<?xml version="1.0" encoding="GB2312"?>
<instance>
  <data>
      <helloworld hw="4711">Hello World</helloworld>
      <repeatdata>
        <input>aaa</input>
        <input>bbb</input>
        <input>ccc</input>
      </repeatdata>
      <extra>Got it!</extra>
      <message>Hello !</message>
      <titletext>These are examples of XForms Action usage.</titletext>
  </data>
</instance>
 
  在这里以这个简单XML文档,来学习XPath语言.
 
1.节点定位:

XML文挡可以表示为树结构节点形式
XPath使用模式表达式识别XML文档的节点。

一个XPath的模式是使用反斜杠“/”分开子元素名称描述路径

下面的XPath表达式选择元素instance下元素data中的helloworld元素
/instance/data/helloworld

注释:用“/”路径开始代表元素的绝对路径.

不用“/”路径开始代表元素的相对路径

data/helloworld

用“//”路径开始代表整个文档满足条件的所有元素

下面的XPath表达式选择文档中所有的input元素
//input

2.选择未知元素

通配符 “*”可用于选择未知XML元素

下面的XPath表达式选择元素instance中的所有data元素所属的子元素

/instance/data/*

下面的XPath表达式选择元素data下所有孙子辈的input元素
/instance/data/*/input

下面的XPath表达式选择所有具有三个祖先的input元素
/*/*/*/input

下面的XPath表达式选择文档所有元素
//*

3.选择属性
在XPath中,所有属性使用@前缀

下面的XPath表达式,选取名为hw的属性
//@hw

下面的XPath表达式,选取具有hw属性的元素
//data[@hw]

下面的XPath表达式,选取所有具有任何属性的data元素
//data[@*]

下面的XPath表达式,选取具有hw等于"parts"属性的data元素
//data[@hw="4711"]

  以上XPath语言是初级的XPath语言,还有很多高级应用.其实我们学任何一门语言都一样,把基础打好,高级部分都是自己后天的努力.

分享到:
评论
1 楼 newlifewant 2011-03-30  
nic
e

相关推荐

Global site tag (gtag.js) - Google Analytics