XSLT:从属性中解析逗号分隔文本

时间:2012-03-26 17:03:56

标签: xml xslt xml-parsing xslt-1.0

我有一个xml,如下所示

<xsl:template match="//xml">
    <xsl:for-each select="//z:row"> 
      <ul class ="cstm-quicklinks">
        <li>        
            <a>
                <xsl:attribute name="href">                             
                      <xsl:value-of select="@ows_urlwmenu" />
                </xsl:attribute>
                <xsl:value-of select="@ows_Title0"/>
            </a>


        </li>
    </ul>
    </xsl:for-each>
  </xsl:template>

它没有给我@ows_urlwmenu的价值。因为该属性的o / p返回值为: ows_urlwmenu =“http://www.google.com,http://www.google.com” 两个相同Url的原因是因为一个是描述而另一个是实际链接。我希望Url是一个可点击的链接,可以打开一个网站。 我该怎么办?谢谢你。

1 个答案:

答案 0 :(得分:0)

如果只有两个值(一个逗号),那么substring-after()就足够了(选择第二个链接):

<xsl:value-of select="substring-after(@ows_urlwmenu, ', ')"/>

如果我误解了您的问题,并且这是您想要的两个链接中的第一个,那么substring-before()

我希望这有帮助,