`
isiqi
  • 浏览: 16051413 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

使用xpath 在xml文档中定位[转载]

阅读更多
使用xpath xml文档中定位
[BO1--日积月累--7]使用xpath 在xml文档中定位
使用xpath 在xml文档中定位,就像在OS 中定位一个文件.
我们如何根据我们指定的条件来选择特定的node?条件怎么样下.
怎么样指定许多条件从而定位我们需要的节点.
大家畅所欲言!
结帖:根据大家对xpath的讨论,总结几点:
1. xpath 作用:在xml文档中定位一个node.
2. xpath的使用场合:xquery,xlink,xslt,xpoint等.
3. 目前xml的解析器一般都会支持xpath1.0语法. ref:王刚 上传的1.0 语法.或者到w3c 下载.
4. 使用具体某一方的xml 解析器时,最好看它本身的doc.
5. 其他资源: msxml4.0. xpath 2.0, little的 Stylus Studio 2006 Release 2 XML Home Edition 用于调试xpath语法.
[此贴子已经被作者于2006/6/14 上午 10:27:27编辑过]
先看看XPath会在哪里用到^_^
XPath is a language for finding information in an XML document. XPath is used to navigate through elements and attributes in an XML document.
XPath is a major element in the W3C's XSLT standard - and XQuery and XPointer are both built on XPath expressions.


此主题相关图片如下:
针对例子来说可能更清晰一些:
<?xml version="1.0" encoding="ISO-8859-1"?>
<books>
<book type=”hardback”>
<title>Atlas Shrugged</title>
<author>Ayn Rand</author>
<isbn>0525934189</isbn>
</book>
<book type=”paperback”>
<title>A Burnt-Out Case</title>
<author>Graham Greene</author>
<isbn>0140185399</isbn>
</book>
</books>
下面的XPath语句返回所有的book元素:
//books/book
下面的表达式返回所有标题为Atlas Shrugged的book元素。
/books/book[title=”Atlas Shrugged”]
符号@使得属性的使用更容易。下面的表达式查找所有的硬封面的书(也就是所有type属性值为hardback的书)
//book[@type=”hardback”]
方括号符号在XPath文档中称为谓词,方括号的另外一个用途是标识需要检索的项数,例如,使用下面的表达式从例子文档返回第一个book元素。
/books/book[1]
用通配符(*)可以很容易的检索到在根结点下的所有元素。下面的例子返回所有的book元素。
/books/*
下面的语句检索所有属性type值为hardcover或softcover的book元素。
//books/book[@type=”hardcover”] | //books/book[@type=”softcover”]
出个题目
XML:
<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
要选择中间的CCC元素
//ccc[ position() = floor(last() div 2 + 0.5) ]
timmy. 题目的要求是选择中间的元素,而上面的last()-1 是选择倒数第二个元素.
如果ccc元素的数量比较多,那么last()-1 就不对了!!!
Jammy:
先讲讲xpath一些概念吧,它能提供那些东西,在什么场合下使用它 ,还有什么要注意的地方
Dear arty:
timmy 给出了一图比较好:
我们在xslt,xquery,xpointer,xlink里面都会涉及到xpath.
最简单的selectSingleNode(xpathQurey),当然,可以在msxml4.0里面找到更多的使用xpath的地方.
一般xml的解析工具都会有支持w3c 提出的xpath 1.0语法.(如dom4j,以及ms 的解析器),至于2.0支持到什么程度,要看具体工具了.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics