2013-11-22 44 views
0

我有以下代碼將刪除HTML中的段落標記/空白。有沒有辦法解決?XSL剝離段落/換行符(C#)

切下XSL:

<div style="FONT-WEIGHT: normal" align="left"> 
<span class="xdExpressionBox xdDataBindingUI" title="" tabIndex="-1" xd:xctname="ExpressionBox" xd:CtrlId="CTRL35" xd:disableEditing="yes" style="WIDTH: 100%; FONT-SIZE: 11.5pt"> 
    <xsl:value-of select="my:IncidentSummaryDetails/my:incidentDetails/my:incidentDetailsHeader"/> 
</span> 

刪節XML:

<my:incidentDetailsHeader> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:space="preserve"> 
    <p style="text-align:justify;">​Bacon ipsum dolor sit amet laboris fugiat shankle aute consectetur leberkas. Tempor irure aliqua, pastrami venison sint turkey.</p> 
    <p style="text-align:justify;"><span lang="EN-US" style="text-decoration:underline;"><strong>SPACE</strong><strong></strong></span></p> 
    <p style="text-align:justify;">Cow dolore turkey voluptate cupidatat </p> 
</html> 
</my:incidentDetailsHeader> 

HTML結果(我已經盤旋的預期空間 - 上面切下來XML只顯示我知道的「SPACE」的一個實例):

enter image description here

我正在使用XslCompiledTransform類來執行XSL轉換,結果會從上面刪除<p>標記。我想保留p標籤,或者插入兩個<br />標籤。

正如您所看到的設置是xml:space="preserve"並且沒有strip-spacenormalize-space在XSL中的任何位置設置。

回答

0

我不得不使用<xsl:copy-of>按這篇文章在這裏:How do I preserve markup tags?

順便說一句:這是對InfoPath中,所以不使用的計算值的,我只是不得不使用只讀格式文本框它本身做了一個副本。