如何使用xslt将xml中的文本转换为html中的超链接

时间:2015-06-05 13:29:36

标签: html xml xslt

如何使用xslt将xml中的文本转换为html中的超链接。

我的Xml代码是

<Steps>          
  <Filepath>C:\Test\Capture\050615165617TC001_05_06_1516_57_11.png</Filepath>
</Steps>

将其转换为html我的xslt代码看起来像

<td width='15%'>
  <xsl:element name="a">
	<xsl:attribute name="href">
	  <xsl:value-of select="./Filepath"/>
	</xsl:attribute>
	<xsl:value-of select="./Filepath"/>
  </xsl:element>														
</td>

现在这段代码用html写了整个文件的路径,但是我想在html中只写一个“File”,并带有指向文件位置的超链接。

我当前生成的html代码如下所示

C:\Test\Capture\050615165617TC001_05_06_1516_57_11.png
<td width="15%"><a href="C:\Test\Capture\050615165617TC001_05_06_1516_57_11.png">C:\Test\Capture\050615165617TC001_05_06_1516_57_11.png</a></td>

我想要的是

<td width="15%"><a href="C:\Test\Capture\050615165617TC001_05_06_1516_57_11.png">File</a></td>

任何人都可以帮助我在xslt中做什么改变。

2 个答案:

答案 0 :(得分:1)

你告诉它有价值:

config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{token}/{controller}/{action}",
    defaults: null,
    constraints: null,
    handler: HttpClientFactory.CreatePipeline(
                new HttpControllerDispatcher(config),
                new DelegatingHandler[] { new ApiTokenValidator() })
);
config.Routes.MapHttpRoute(
    name: "LoginApi",
    routeTemplate: "api/{controller}/{action}",
    defaults: null,
    constraints: null,
    handler: HttpClientFactory.CreatePipeline(
                new HttpControllerDispatcher(config),
                new DelegatingHandler[] { new ApiLoginHandler() })
);

所以改成它:

  <xsl:element name="a">
    <xsl:attribute name="href">
      <xsl:value-of select="./Filepath"/>
    </xsl:attribute>
    <xsl:value-of select="./Filepath"/> <!--This is the link text -->
  </xsl:element>                                                        

答案 1 :(得分:1)

或者很快:

<a href="{Filepath}">File</a>