2012-02-28 58 views
0

從XML檢索到的值刪除引號(「」),我有這樣的XML使用XSLT

<P style="TEXT-ALIGN: center; MARGIN: 0pt"> 
     <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 36pt FONT-WEIGHT: bold">Form</SPAN> 
      <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 25pt; FONT-WEIGHT: bold">Form</SPAN> 
      <SPAN style="FONT-FAMILY: 'COMIC SANS MS'; FONT-SIZE: 6.7pt; FONT-WEIGHT: bold">Form</SPAN> 
      <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE:10pt; FONT-WEIGHT: bold;TEXT-DECORATION:underline">10-Q</SPAN> 
      <SPAN style="FONT-FAMILY: 'CURSIVE'; FONT-SIZE:14pt">Hisasdf @ adsfkej % adsfkj-Q</SPAN> 
      <SPAN style="FONT-FAMILY: 'Edwardian Script ITC'; FONT-SIZE:18pt">Singhaniadf kurmad-Q</SPAN> 
      <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 7pt">anurag arya fateh ali khan-Q</SPAN> 
      <SPAN style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE:12pt;TEXT-DECORATION:underline">rakesh kumar sinfhania</SPAN> 
     </P> 
<xsl:variable name="Fface"> 
    <xsl:value-of select="(normalize-space(substring-before(substring-after(@style,'FONT-FAMILY:'),';')))"/> 
</xsl:variable> 

,我使用此代碼來識別字體系列和它的工作的罰款,並給了我使用這種

<xsl:value-of select="$Fface"/> 

但價值我是'TIMES NEW ROMAN'有引號,但我希望它沒有這些引號 值,該怎麼做有什麼步驟來做到這一點

回答

1

如果你是肯定的撇號總是會存在,你可以只使用字符串函數來做到這一點

<xsl:value-of select="substring($Fface, 2, string-length($Fface) - 2)" /> 
+0

哇它的工作原理其實我嘗試使用translate()API來完成這一點,但我發現,它不能轉換輸出。 但是你對我的感謝... :) – Librak 2012-02-28 13:15:19

1

如果你想使用轉換函數從值中刪除撇號,你可以這樣做它是這樣的:

<xsl:value-of select='translate($Fface, "&apos;", "")' /> 

這將從值中刪除所有撇號,但不僅僅是在開始的結尾。

待辦事項如何使用aposotrophes(')和雙引號(「)已在上面的語句被顛倒什麼是正常完成。

如果你確實想要把它全部納入一個大的說法,你會做這樣的,雖然它不會是容易閱讀。

<xsl:value-of select='translate(normalize-space(substring-before(substring-after(@style,"FONT-FAMILY:"),";")), "&apos;", "")' /> 
+0

其創建問題當我用這個作爲整體 \t \t'' 如果我想在單行中寫這個,該怎麼辦 – Librak 2012-02-29 13:00:07

+0

@Librak我已經修改了我的答案,以說明如何完成此操作。 – 2012-02-29 13:28:10