日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XPath函数——字符串函数

發(fā)布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XPath函数——字符串函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

????? 字符串函數(shù)主要用來處理字符串。字符串函數(shù)主要包括以下:concat(),contains(),normalize-space(),substing(),substring-before(),subsring-after(),translate().

????? 1、concat()

????? concat()函數(shù)用于串連多個字符串。

????? 簡單示例:

????? xml:

  • <?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:

  • <?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,.,'&#x000A;')"/> </xsl:for-each> </xsl:template> </xsl:stylesheet>
  • ????? 結(jié)果:

  • 1st 2nd 3rd
  • ??

    ????? 2、contains()

    ????? contains(str1,str2)函數(shù)用來判斷str2是否是第一個字符串的一部分。

    ????? 簡單示例:

    ????? xml:

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

  • <?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>
  • ???? 結(jié)果:

  • <?xml version="1.0" encoding="gb2312"?>
  • <books>
  • <book>XML</book> <book>XSLT</book> <book>XPath</book> </books>
  • ?

    ??? 3、normalize-space()

    ??? normalize-space()用來將一個字符串的頭部和尾部的空白字符刪除,如果字符串中間含有多個連續(xù)的空白字符,將用一個空格來代替。

    ??? 簡單示例:

    ??? xml:

  • <?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:

  • <?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>
  • ???? 結(jié)果:

  • <?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)函數(shù)用來判斷string是否以startstr開頭。

    ??? 簡單示例:

    ??? xml:

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

    顯示行號 復(fù)制代碼
  • <?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>
  • ???? 結(jié)果:

  • <?xml version="1.0" encoding="gb2312"?>
  • <books>
  • <book>XML</book> <book>XSLT</book> <book>XPath</book> </books>
  • ?????

    ??? 5、string-length()

    ??? string-length(string)函數(shù)用來返回參數(shù)string的長度,如果參數(shù)string為缺省,將返回上下文節(jié)點的字符串長度。

    ?

    ??? 6、substring()

    ??? substring(string,number,length)函數(shù)用來截取字符串。參數(shù)string用于指定要截取的字符串;參數(shù)number用于指定開始位置;參數(shù)length用于指定截取字符串的長度。如果缺少length參數(shù)將從開始位置number一直到截取字符串的長度

    ??? 簡單示例:

    ??? xml:

  • <?xml version="1.0" encoding="UTF-8"?> <root> <text>123456789ABCDEF</text> </root>
  • ???? xslt:

  • <?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>&#x000A;</xsl:text> <xsl:value-of select="substring(text,1)"/> <xsl:text>&#x000A;</xsl:text> <xsl:value-of select="substring(text,1,string-length(text))"/> </xsl:template> </xsl:stylesheet>
  • ??? 結(jié)果:

  • 12345 123456789ABCDEF 123456789ABCDEF
  • ?

    ??? 7、substring-before()

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

    ??? 簡單示例:

    ??? xml:

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

  • <?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>
  • ???? 結(jié)果:

  • 2010年22時
  • ?

    ??? 8、substring-after()

    ??? substring-after(str1,str2)函數(shù)跟substring-before類似,substring-after0返回字符串str1中位于字符串str2之后的部分。

    ??? 簡單示例:

    ??? xml:

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

  • <?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>
  • ?? 結(jié)果:

  • <?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)函數(shù)用來替換字符串,替換string中的所有replaced_txt為replacement_txt.

    轉(zhuǎn)載于:https://www.cnblogs.com/zhaozhan/archive/2010/01/17/1650242.html

    總結(jié)

    以上是生活随笔為你收集整理的XPath函数——字符串函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。