XML:
<col>
<Html>
<root>
<Pro>
<a title="" href="/pro.aspx?id=0098">And, Jo</a>
</Pro>
</root>
</Html>
<Html>
<root>
<Pro>
<a title="" href="/pro.aspx?id=0098">And, Jo</a>
</Pro>
</root>
</Html>
<Html>
<root>
<Pro>
<a title="" href="/pro.aspx?id=0098">And, Jo</a>
</Pro>
</root>
</Html>
</col>
如何从上面获取0098
并使用XSLT创建链接。
XSLT:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="dispSpec" match="/">
<xsl:for-each select="col/Html/root">
<div class="justPad">
<a class="link1" href="anotherpage.aspx?id={0098}">Click Here</a>
</div>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:2)
我相信你想用:
substring-after(@href, 'id=')
你没有提供任何背景信息,所以只有这个。
(响应您的修改)
尝试将模板更改为:
<xsl:template match="/">
<xsl:for-each select="col/Html/root">
<div class="justPad">
<a class="link1" href="anotherpage.aspx?id={substring-after(Pro/a/@href, 'id=')}">Click Here</a>
</div>
</xsl:for-each>
</xsl:template>
注意强>:
您的样式表会创建一个包含多个div
元素且没有单个根元素的文档。也许这对目标应用程序来说很好,但需要指出;
我不明白为什么你的模板需要命名;你在任何时候都是通过名字来呼叫它(似乎不太可能)?