Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
应用XPath函数';'后的子字符串;_Xpath - Fatal编程技术网

应用XPath函数';'后的子字符串;

应用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(

从给定的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, ' ')[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你是最好的。