XPath 数值函数
数值函数用来对数值型数据进行数学计算,XPath支持的数值函数如表9-9所示。
表9-9 数值函数
数值函数 | 说明 | 示例 |
ceiling() | 返回不小于参数的最小整数 | ceiling(5.39)返回值为6 |
floor() | 返回不大于参数的最大整数 | floor(5.39)返回值为5 |
number() | 转换参数为数值型 | number('5.14')返回值为5.14 |
round() | 返回参数的四舍五入后的值 | round(3.2)返回值为3 round(4.8)返回值为5 |
sum() | 返回指定节点集中节点总数目 | sum(/food/price)返回食品的总价 |
number()函数接受的参数是一个字符串值;sum方法接受的参数是一个路径定位表达式;其他函数一般是数值型数据。通过下面实例来具体介绍如何使用sum()函数,XML文档如下所示:
<?xml version="1.0" encoding="gb2312" ?>
<?xml-stylesheet href="books.xsl" type="text/xsl"?>
<books publisher="清华大学出版社">
<book price="21.00">
<name>XML基础教程</name>
</book>
<book price="95.00">
<name>XML编程技术大全</name>
</book>
<book price="59.00">
<name>XML HACKS 100个业界最尖端的技巧和工具</name>
</book>
<book price="68.00">
<name>XML精要:语法详解与编程指南</name>
</book>
百度文库xpath定位 <book price="42.00">
<name>XML安全基础</name>
</book>
</books>
books.xsl文档内容如下所示:
<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="/1999/XSL/Transform">
<xsl:template match="/">
<table >
<tr><td>图书名称</td><td>单价(¥)</td></tr>
<xsl:for-each select="books/book">
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="@price"/></td>
</tr>
</xsl:for-each>
<tr>
<td>总计</td>
<td><xsl:value-of select="sum(books/book/@price)" /></td>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>
在该文件中,首先获取XML文档中的图书信息并通过table表格来格式化数据,然后使用sum函数计算所有图书的总单价。运行结果如图9-6所示。
图9-6 计算图书总单价
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论