XPath函数——字符串函数(转载)

本文是转载的,原文网址:http://www.cnblogs.com/zhaozhan/archive/2010/01/17/1650242.html

字符串函数主要用来处理字符串。字符串函数主要包括以下:concat(),contains(),normalize-space(),substing(),substring-before(),subsring-after(),translate().

1、concat()

concat()函数用于串连多个字符串。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <root>
       <e id="1">st</e>
       <e id="2">nd</e>
       <e id="3">rd</e>
    </root>

xslt:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    <xsl:output method="text" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/root">
           <xsl:for-each select="e">
                <xsl:value-of select="concat(@id,.,‘
    ‘)"/>
           </xsl:for-each>
        </xsl:template>
    </xsl:stylesheet>

结果:

  1. 1st
    2nd
    3rd

2、contains()

contains(str1,str2)函数用来判断str2是否是第一个字符串的一部分。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <books>
       <book>XML</book>
       <book>XSLT</book>
       <book>XPath</book>
       <book>C#</book>
    </books>

xslt:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    <xsl:output method="xml" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/books">
           <books>
           <xsl:for-each select="book">
                <xsl:if test="contains(.,‘X‘)">
                    <xsl:copy>
                        <xsl:value-of select="."/>
                    </xsl:copy>
                </xsl:if>
           </xsl:for-each>
           </books>
        </xsl:template>
    </xsl:stylesheet>

结果:

  1. <?xml version="1.0" encoding="gb2312"?>
  2. <books>
  3.     <book>XML</book>
        <book>XSLT</book>
        <book>XPath</book>
    </books>

3、normalize-space()

normalize-space()用来将一个字符串的头部和尾部的空白字符删除,如果字符串中间含有多个连续的空白字符,将用一个空格来代替。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <article>
        <title>  When    The  Wind Blows</title>
        <paragraph>
              When you have get ready for everything ,you  could
                                            Sleep though the wind blows
        </paragraph>
        <paragraph>
              That means you should          do your best on your work and fear
                      nothing
        </paragraph>
    </article>

xslt:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    <xsl:output method="xml" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/books">
            <xsl:apply-templates select="article"/>
        </xsl:template>
        <xsl:template match="article">
            <xsl:copy>
                <xsl:apply-templates select="*"/>
            </xsl:copy>
        </xsl:template>
        <xsl:template match="*">
            <xsl:copy>
                <xsl:value-of select="normalize-space()"/>
            </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>

结果:

  1. <?xml version="1.0" encoding="gb2312"?>
    <article>
        <title>When The Wind Blows</title>
        <paragraph>When you have get ready for everything ,you could Sleep though the wind blows</paragraph>
        <paragraph>That means you should do your best on your work and fear nothing</paragraph>
    </article>

4、starts-with()

start-with(string,startr)函数用来判断string是否以startstr开头。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <books>
       <book>XML</book>
       <book>XSLT</book>
       <book>XPath</book>
       <book>C#</book>
    </books>

xslt:

显示行号 复制代码 ?

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    <xsl:output method="xml" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/books">
            <xsl:copy>
                <xsl:for-each select="book">
                    <xsl:if test="starts-with(.,‘X‘)">
                        <xsl:copy-of select="."/>
                    </xsl:if>
                </xsl:for-each>
            </xsl:copy>
        </xsl:template>
    </xsl:stylesheet>

结果:

  1. <?xml version="1.0" encoding="gb2312"?>
  2. <books>
  3.     <book>XML</book>
        <book>XSLT</book>
        <book>XPath</book>
    </books>

5、string-length()

string-length(string)函数用来返回参数string的长度,如果参数string为缺省,将返回上下文节点的字符串长度。

6、substring()

substring(string,number,length)函数用来截取字符串。参数string用于指定要截取的字符串;参数number用于指定开始位置;参数length用于指定截取字符串的长度。如果缺少length参数将从开始位置number一直到截取字符串的长度

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <root>
       <text>123456789ABCDEF</text>
    </root>

xslt:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    <xsl:output method="text" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/root">
            <xsl:value-of select="substring(text,1,5)"/>
            <xsl:text>
    </xsl:text>
            <xsl:value-of select="substring(text,1)"/>
            <xsl:text>
    </xsl:text>
            <xsl:value-of select="substring(text,1,string-length(text))"/>
        </xsl:template>
    </xsl:stylesheet>

结果:

  1. 12345
    123456789ABCDEF
    123456789ABCDEF

7、substring-before()

substring-before(str1,str2)函数用于返回字符串str1中位于字符串str2之前的部分。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <datetime>
        <date>2010-01-17</date>
        <time>22:49:30</time>
    </datetime>

xslt:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    <xsl:output method="text" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/datetime">
            <xsl:apply-templates select="*"/>
        </xsl:template>
        <xsl:template match="date">
            <xsl:value-of select="concat(substring-before(.,‘-‘),‘年‘)"/>
        </xsl:template>
        <xsl:template match="time">
            <xsl:value-of select="concat(substring-before(.,‘:‘),‘时‘)"/>
        </xsl:template>
    </xsl:stylesheet>
  2. 
    

结果:

  1. 2010年22时

8、substring-after()

substring-after(str1,str2)函数跟substring-before类似,substring-after0返回字符串str1中位于字符串str2之后的部分。

简单示例:

xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <dir>
        <file>a.txt</file>
        <file>t.xml</file>
        <file>t.xslt</file>
    </dir>

xslt:

  1. <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    <xsl:output method="xml" version="1.0" encoding="gb2312" indent="yes"/>
        <xsl:template match="/dir">
            <extends>
                <xsl:for-each select="file">
                    <extend>
                        <xsl:value-of select="substring-after(.,‘.‘)"/>
                    </extend>
                </xsl:for-each>
            </extends>
        </xsl:template>
    </xsl:stylesheet>

结果:

  1. <?xml version="1.0" encoding="gb2312"?>
    <extends>
        <extend>txt</extend>
        <extend>xml</extend>
        <extend>xslt</extend>
    </extends>

9、translate()

translate(string,replaced_txt,replacement_txt)函数用来替换字符串,替换string中的所有replaced_txt为replacement_txt.

时间: 2024-10-27 06:34:24

XPath函数——字符串函数(转载)的相关文章

Linux下常用函数-字符串函数

inux下常用函数-字符串函数 atof(将字符串转换成浮点型数)  相关函数   atoi,atol,strtod,strtol,strtoul 表头文件   #include <stdlib.h> 定义函数   double atof(const char *nptr); 函数说明   atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数 字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换 ,并将结果返回.参数nptr字符串可包含正负号.小数点或E

夯实基础之PHP函数-----每天熟悉掌握五个函数--字符串函数

字符串函数 一.addcslashes  以 C 语言风格使用反斜线转义字符串中的字符 二 .addslashes(防注入转义插入数据库的数据) 使用反斜线引用字符串,返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线.这些字符是单引号(').双引号(").反斜线(\)与 NUL(NULL 字符). 三.chop是 rtrim的别名,删除字符串尾部空白 四.chr() 返回指定的字符  返回相对应于 ascii 所指定的单个字符. string chr ( int $asci

SQL server 模糊查询 排序 聚合函数 数学函数 字符串函数 时间日期函数 转换、函数转换

create database lianxi831  --创建数据库gouse lianxi831  --引用数据库gocreate table xs  --插入表格( code int not null,  --写入内容 name varchar(10), cid varchar(18), banji varchar(10), yufen decimal(18,2), shufen decimal(18,2), yingfen decimal(18,2),)goinsert into xs v

0831 模糊查询,排序查询,聚合函数,时间日期函数,数学函数,字符串函数

create database lianxi0720gouse lianxi0720gocreate table student( code int not null,--学号,不可为空 name varchar(10),--学生姓名 sex varchar(10),--性别 banji varchar(10),--班级 yufen decimal(18,2),--语文分数 shufen decimal(18,2),--数学分数 yingfen decimal(18,2),--英语分数)go--

转 Lua标准库: table函数, 数学函数, 字符串函数/格式化/配对, WoW新增函数, 函数别名

这里只介绍和插件编写比较有关的几个函数. 详细的Lua手册请参照Lua Reference Manual 5.1. assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息 collectgarbage() - 垃圾收集器. (新增于1.10.1) date(format, time) - 返回当前用户机器上的时间. error("error message",level) - 发生错误时,输出一条定义的错误

SQL系列函数--字符串函数

1.charindex函数用来寻找一个指定的字符(串)在另一个字符串中的起始位置,返回一个整数,没找到就返回0 select CHARINDEX('SQL','Microsoft SQL SERVER'),返回结果为11 2.len返回字符串的长度 select LEN('Microsoft SQL SERVER'),返回结果为20 3.lower函数将给定字符串的大写转换成小写 select LOWER('SQL SERVER 课程'),返回结果为"sql server 课程" 4.

mssql 系统函数 字符串函数 space 功能简介

转自: http://www.maomao365.com/?p=4672  一.space 函数功能简介 space功能:返回指定数量的空格参数简介: 参数1: 指定数量,参数需为int类型 注意事项: 1 如果参数1输入为非varchar或nvarchar类型,那么sql引擎先进行类型转换,如果转换失败,则返回错误信息 否则继续执行此函数 2 如果参数等于零的数值,那么就返回空字符串 3 如果参数小于零,那么就返回null ,会导致字符串叠加操作失败  二.space 函数举例说明例1: /*

11-02C#基础--数据库之字符串函数

数据库の函数 一.内置函数--字符串函数 1.--ASCII 返回字符串的首字母的ASCII编码 select ASCII('ame') select ASCII(xingming)from xuesheng--查询语句中的格式 select*from haha where ASCII(name)>200--查询表中ASCII码大于 2.--CHAE 将ASCII码转换成对应的字符 select CHAR(13)--在ASCII码中代表回车键,显示空格 select CHAR(202)--不同于

T-SQL.字符串函数

--本文为学习笔记,(<t_sql>作者:Robert Sheldon 译者:冯昀晖 来源:TT中国) --------------------------------------- 函数--字符串函数--截取字符串的值 select name,left(name,12) as a, --根据指定的字符串从左往右截取,格式:left(字符串表达式,字符数) substring(name,9,4) as b,--"SUBSTRING"函数可以提取字符串的任意部分. --sub