应用XPath函数';'后的子字符串;
从给定的html:应用XPath函数';'后的子字符串;,xpath,Xpath,从给定的html: <span class="flag_16 left_16 armenia_16_left"> First League</span> 第一联盟 我如何才能得到(亚美尼亚)字符串只或至少(亚美尼亚16_左) 提前感谢。使用此XPath 1.0表达式: substring-before(substring-after(substring-after(/span /@class, ' '), ' '), '_') tokenize(tokenize(
<span class="flag_16 left_16 armenia_16_left"> First League</span>
第一联盟
我如何才能得到(亚美尼亚)字符串只或至少(亚美尼亚16_左)
提前感谢。使用此XPath 1.0表达式:
substring-before(substring-after(substring-after(/span /@class, ' '), ' '), '_')
tokenize(tokenize(/span /@class, ' ')[last()], '_')[1]
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
"<xsl:value-of select=
"substring-before(substring-after(substring-after(/span /@class, ' '), ' '), '_')
"/>"
</xsl:template>
</xsl:stylesheet>
"armenia"
在XPath 2.0中,只需使用:
substring-before(substring-after(substring-after(/span /@class, ' '), ' '), '_')
tokenize(tokenize(/span /@class, ' ')[last()], '_')[1]
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
"<xsl:value-of select=
"substring-before(substring-after(substring-after(/span /@class, ' '), ' '), '_')
"/>"
</xsl:template>
</xsl:stylesheet>
"armenia"
基于XSLT的验证:
substring-before(substring-after(substring-after(/span /@class, ' '), ' '), '_')
tokenize(tokenize(/span /@class, ' ')[last()], '_')[1]
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
"<xsl:value-of select=
"substring-before(substring-after(substring-after(/span /@class, ' '), ' '), '_')
"/>"
</xsl:template>
</xsl:stylesheet>
"armenia"
当此XSLT 2.0转换应用于同一XML文档时(如上所述):
字符串
flag_16
和left_16
是常量值吗?是的@KirillPolishchuk它们是常量值回答得很好谢谢@Dimitre Novatchev你是最好的。