指定された html から:
<span class="flag_16 left_16 armenia_16_left"> First League</span>
(armenia) 文字列のみ、または少なくとも (armenia_16_left) を取得する方法。
前もって感謝します。
指定された html から:
<span class="flag_16 left_16 armenia_16_left"> First League</span>
(armenia) 文字列のみ、または少なくとも (armenia_16_left) を取得する方法。
前もって感謝します。
次の XPath 1.0 式を使用します。
substring-before(substring-after(substring-after(/span /@class, ' '), ' '), '_')
XPath 2.0 では、次のように簡単に使用できます。
tokenize(tokenize(/span /@class, ' ')[last()], '_')[1]
XSLT ベースの検証:
<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>
この変換が提供された XML ドキュメントに適用されると、次のようになります。
<span class="flag_16 left_16 armenia_16_left"> First League</span>
Xpath 式が評価され、結果が出力にコピーされます。
"armenia"
この XSLT 2.0 変換が同じ XML ドキュメント(上記)に適用されると、次のようになります。
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
"<xsl:sequence select=
"tokenize(tokenize(/span /@class, ' ')[last()], '_')[1]"/>"
</xsl:template>
</xsl:stylesheet>
再び同じ正しい結果が生成されます。
"armenia"