2012-07-27 97 views
1

來源:需要更換一套帶有特殊字符的字符在XSLT

<txt> 
    &lt;Data&gt; 
    &lt;div class="label"&gt; 
     &lt;span&gt;Welcome&lt;/span&gt; 
    &lt;span id="UserName"&gt;&lt;/span&gt;. 
    &lt;/div&gt; 
    &lt;/Data&gt; 

</txt> 

輸出:

<Data> 
<div class="label"> 
    <span>Welcome</span> 
<span id="UserName"></span>. 
</div> 
</Data> 

規則: 我想替換

&lt; with < 
&gt; with > 

還有其他字符另外,爲了簡單起見,我只提到了兩個。

我不確定如何搜索xslt中的字符串並將其替換。

回答

1

您可以通過使用禁用輸出轉義

<xsl:template match="txt"> 
    <xsl:value-of select="." disable-output-escaping="yes" /> 
</xsl:template> 

這應該給了你所需要的輸出實現這一目標。

+0

是的。禁用輸出轉義已被棄用,並受到嚴厲批評,因爲人們經常濫用它。但是,從XML文檔的節點中提取「轉義的XML」是一個用例,它是一個令人尊敬的解決方案。只要確保您的轉換在禁用輸出轉義的環境中使用 - 也就是說,XSLT處理器正在序列化輸出(而不是將輸出寫入DOM)的環境。 – 2012-07-27 10:41:50