我有这样的XML
<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'
有引号,但我希望它没有这些引号
所以要做的是有任何程序来做到这一点
答案 0 :(得分:1)
如果您确定撇号始终存在,您可以使用子字符串函数来执行此操作
<xsl:value-of select="substring($Fface, 2, string-length($Fface) - 2)" />
答案 1 :(得分:1)
如果你想使用translate函数从值中删除撇号,你可以这样做:
<xsl:value-of select='translate($Fface, "'", "")' />
这会从值中删除所有撇号,而不仅仅是在结尾处的那些撇号。
请注意在上述陈述中如何使用任意性(&#39;)和引号(&#34;)与正常情况相反。
如果你确实想把它全部放在一个大的陈述中,你会这样做,虽然它不会那么容易阅读。
<xsl:value-of select='translate(normalize-space(substring-before(substring-after(@style,"FONT-FAMILY:"),";")), "'", "")' />