首页 | 源码下载 | 编程控件 | 书籍教程 | 应用方案 | 设计素材 | 项目交易 | 开发文档 | 商业源码 | 我的帐号
登陆我的帐号
帐 号:
密 码:
我还不是会员,需要注册!

截止2004年12月16日
本站源码总量(商业源码除外)RAR压缩为 4,206,733 KB。其中免费源码为 1,124,495 KB,会员源码为 3,082,238 KB
C/C++ 129,555 KB
Delphi 1,258,381 KB
Java 120,937 KB
.Net 36,886 KB
PowerBuilder 954,525 KB
Visual Basic 923,454 KB
ASP 259,795 KB
JSP 4,987 KB
其他 94,723 KB

本站是中国频道、中资源、时代互联顶级代理:注册国际域名70元,国内域名130元,各类ASP、PHP、JSP空间8折优惠!
本站承担各类网站制作开发及方案策划,项目经验丰富,欢迎洽谈!

网站动态
关于下载速度慢的问题解答
想免费下载源码吗?
还有众多资源恭候大家免费…
道歉!
关于资源更新的说明
关于下载错误的原因!
源码资源网新版网站投入运…

当前位置:源码资源网首页 > 开发文档首页 > .Net >xpath应用举例

xpath应用举例
人气:8 文字大小:     作者:

Xml文件为
<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<root>
<question id="1">
<tit>
孙燕姿的第一专辑叫什么?
</tit>
<A>未完成</A>
<B>绿光</B>
<C>我的纪念册</C>
<D>灰姑娘的眼泪</D>
<num>12</num>
</question>
<question id="2">
<tit>
最能反映大哥风范的电影是下面的哪部
</tit>
<A>蛊惑仔之龙争虎斗</A>
<B>刀手</B>
<C>英雄本色</C>
<D>花样年华</D>
<num>20</num>
</question>
</root>
xsl文件为
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>xpath example</title>
</head>
<body>
<center><p>调查报告</p></center>
<center>
<table border="1">
<tr>
<td>ID</td>
<td>Title</td>
<td>A</td>
<td>B</td>
<td>C</td>
<td>D</td>
<td>Num</td>
</tr>
<xsl:apply-templates select="root/question[@id=’1’]"/>
</table>
</center>
</body>
</html>
</xsl:template>
<xsl:template match="root/question">
<tr>
<td><xsl:value-of select="@id"/></td>
<td><xsl:value-of select="tit"/></td>
<td><xsl:value-of select="A"/></td>
<td><xsl:value-of select="B"/></td>
<td><xsl:value-of select="C"/></td>
<td><xsl:value-of select="D"/></td>
<td><xsl:value-of select="num"/></td>
</tr>
</xsl:template>
</xsl:stylesheet>
xsl文件主要在<xsl:apply-templates select="root/question[@id=’1’]"/>
此时代表选择id为1的那个行
如果改为<xsl:apply-templates select="root/question[num div 20 &lt; 1]"/>则显示num小于20的那行 注意小于号要用&lt;代替)
如果改为<xsl:apply-templates select="root/question[contains tit,’最能反映大哥风范的电影’)]"/>则表示tit的内容前边几个词为“最能反映大哥风范的电影”显示那行
所以xpath主要处理xml的函数或方法有
1:节点集函数
节点集函数提供关于一组节点(一个或多个节点)的信息。常用的节点集函数有
last )――返回一个称为上下文大小的数字,即给定上下文中的节点数,不同于最后一个节点。
position )――返回一个称为上下文位置的数字,集当前节点在给上下文节点集(列表)中的位置。比如,可以用表达式 position )=last ) 测试处理的是否是集合中的最后一个节点。
count node-set)――返回实参节点集中的节点数。比如,在 AuctionItemList.xml 文档的上下文中,count //item) 返回 item 元素的个数,即 7。
id object)――返回一个节点集,根据在 DTD 中声明为 ID 类型的唯一标识符选择元素。因为在 AuctionItemList.xml 中没有使用 DTD,这个例子中得到的节点集总是空集。Id "ItemId0001") 返回一个空节点集。
XPath 还定义了和节点名及名称空间有关的其他三个函数:
local-name )
namespace-uri )
name )
2:字符串函数
通过字符串函数您可以操纵字符串。常用的字符串函数有:
string )――把参数对象或者上下文结点转化成字符串。合法的参数包括节点集、数字、布尔值或者其他任何类型――但是对于最后一种情况转换的结果不可预料。建议使用 XSLT 函数 format-number 把数字转化成字符串,或者使用 XSLT 元素 xsl:number 提供给用户。
concat )――以两个或更多字符串作为参数并返回这些字符串的连接。比如,concat "Original ","recording ","Blue Train LP record") 返回 "Original recording Blue Train LP record"。
starts-with )――如果第一个字符串参数以第二个字符串参数开始则返回 true,否则返回 false。比如,starts-with "Miles Smiles album, CD", "Miles") 返回 true。
contains )――如果第一个字符串参数包含第二个字符串参数则返回 true,否则返回 false。比如,contains "Miles Smiles album, CD", "album") 返回 true。
其他的 XPath 字符串函数包括:substring )、substring-before )、substring-after )、string-length )、normalize-space ) 和 translate )。详请参阅 XPath 1.0 规范的 4.2 节。
3:布尔函数
布尔函数用于把一个对象或字符串转化成 true 或者 false,或者直接获得真或假的值。布尔函数有:
boolean )――根据以下规则返回作为参数传递的对象转换成布尔值的结果:不同于 0 或者 NaN 的数字为 true;非空的节点集或者字符串为 true。其他类型的对象已不可预料的方式转换。
not )――如果作为参数传递的布尔值为 false 返回 true,否则返回 false。
true ) 和 false )――分别返回 true 或 false。这些函数很有用,因为在 XPath 中 true 和 false 被看作是普通的字符串而不是真和假的值。
lang )――如果上下文节点的语言和字符串参数中指定的语言相同,或者是它的一种子语言返回 true,否则返回 false。上下文节点的语言通过 xml:lang 属性的值定义。比如,lang "en") 对于 AuctionItemList.xml 树中的任何节点都返回 false,因为没有指定 xml:lang 属性。
4:数字函数
数字函数是 XPath 的数值函数,都返回数字。其中包括:
number )――把可选的对象参数(如果没有指定参数则使用上下文节点)转化成数字,转换的规则如下:
布尔值 true 转换成1,false 转换成 0。
字符串转换成合理的数字。
节点集首先转换成字符串,然后把这个字符串转换成数字。
其他类型对象以不可预料的方式转换。比如,number "250") 返回 250,而 number "miles1965") 返回 NaN。
sum )――对节点集参数中的所有节点应用 number ) 函数后返回它们的和。
floor )――返回不大于数字参数的最大整数数字。比如,floor 2.75) 返回 2
ceiling )――返回不小于数字参数的最小整数数字。比如,ceiling 2.75) 返3
round )――返回和数字参数最接近的整数数字。比如,round 2.75) 返回 3。
 

文章出处:   发表时间:2004-11-17 22:59:14

1条数据记录,分1页显示 上一页 < [1] > 下一页
相关文章  
[源码下载] · comicq源代码
[书籍教程] · VC++ 6.0数据库系统开发实例导航
[书籍教程] · Delphi 7数据库编程学习捷径
[书籍教程] · Delphi百例精解
[书籍教程] · DELPHI综合开发文档

相关评论  
 当前没有评论!
请登陆后再来发表评论!
当前位置:源码资源网首页 > 开发文档首页 > xpath应用举例
会员升级 | 广告服务 | 网站开发 | 联系我们 | 网站动态 | 客户反馈

CodeRes.com 保留所有权利 2004
本站所有资源仅供学习参考,版权归原作者所有,如侵犯了您的权益请与我们联系