have_life 发表于 2013-2-7 19:16:05

xPath简介

要知道从根节点一直下来的相对路径才能确定Xpath的写法。
/root/<节点1>/<节点2>//<@属性>
Xpath是功能很强大的,但是也是相对比较复杂的一门技术,最好还是到博客园上面去专门找一些专业的帖子来看一看,下面是一些简单的Xpath语法和一个实例,提供给你参考一下
<?xml version="1.0" encoding="ISO-8859-1"?><catalog><cd country="USA">    <title>Empire Burlesque</title>    <artist>Bob Dylan</artist>    <price>10.90</price></cd><cd country="UK">    <title>Hide your heart</title>    <artist>Bonnie Tyler</artist>    <price>9.90</price></cd><cd country="USA">    <title>Greatest Hits</title>   <artist>Dolly Parton</artist>   <price>9.90</price>   </cd></catalog>

         
定位节点
XML是树状结构,类似档案系统内数据夹的结构,XPath也类似档案系统的路径命名方式。不过XPath 是一种模式(Pattern),可以选出 XML档案中,路径符合某个模式的所有节点出来。例如要选catalog底下的cd中所有price元素可以用:

/catalog/cd/price   

如果XPath的开头是一个斜线(/)代表这是绝对路径。如果开头是两个斜线(//)表示文件中所有符合模式的元素都会被选出来,即使是处于树中不同的层级也会被选出来。以下的语法会选出文件中所有叫做cd的元素(在树中的任何层级都会被选出来):

//cd

选择未知的元素
使用星号(Wildcards,*)可以选择未知的元素。下面这个语法会选出/catalog/cd 的所有子元素:

/catalog/cd/*

以下的语法会选出所有catalog的子元素中,包含有price作为子元素的元素。

/catalog/*/price

以下的语法会选出有两层父节点,叫做price的所有元素。

/*/*/price

以下的语法会选择出文件中的所有元素。

//*

要注意的是,想要存取不分层级的元素,XPath语法必须以�


link: http://www.ej38.com/showinfo/xml-177880.html
页: [1]
查看完整版本: xPath简介