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小时内删除。