2016-12-15 76 views
1

我需要使用xsl刪除特定事件的符號+。需要使用XSLT刪除特定事件的符號

我輸入XML文件是:

<term> 
<image>Mediabakery_SPY0006138.jpg</image> 
<name>Pramlintide</name> 
<description> 
<p>This medicine</p> 
<ol> 
<li>Use this medicine</li> 
</ol> 
<p>Write your thoughts here. . .</p> 
</description> 
<commentBox>false</commentBox> 
</term> 

XSL我使用:

<xsl:stylesheet version="2.0"> 

<xsl:template match="term"> 
     <xsl:apply-templates/> 
    </xsl:template> 

    <xsl:template match="description"> 
     "description": 
     <xsl:apply-templates/> 
    </xsl:template> 

    <xsl:template match="p"> 
     "<xsl:apply-templates/>" + 
    </xsl:template> 

    <xsl:template match="ol"> 
     "<xsl:copy-of select="." />" + 
    </xsl:template> 

<xsl:template match="commentBox"> 
     "commentBox": "<xsl:apply-templates/>" 
    </xsl:template> 
</xsl:stylesheet> 

JSON輸出我得到的是:

"description": 

"This medicine" + 

"<ol><li>Use this medicine</li></ol>" + 

"Write your thoughts here. . ." + 
"commentBox": "false" 

,但我不想在+符號的如下所示:

"description": 

"This medicine" + 

"<ol><li>Use this medicine</li></ol>" + 

"Write your thoughts here. . ." 
"commentBox": "false" 

請指導我。在此先感謝

+0

能否請您重新表述您的問題 – ScanQR

+0

我多麼想重聚@scanQR – User501

+0

如果你想JSON輸出,你不能使用「+」號連接字符串。這可能是有效的JavaScript,但它不會是有效的JSON。 –

回答

0

試試這個:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="description"> 
    "description": 
    <xsl:apply-templates/> 
</xsl:template> 
<xsl:template match="p"> 
"<xsl:apply-templates/>" <xsl:if test="following::text()[ 
    normalize-space()] 
    [generate-id(ancestor::description)=generate-id(current()/ancestor::description)]">+</xsl:if> 
</xsl:template> 

<xsl:template match="ol"> 
    "<xsl:copy-of select="." />" <xsl:if test="following::text()[normalize-space()]">+</xsl:if> 
</xsl:template> 
</xsl:stylesheet> 

輸出:

"description": 


    "This medicine" + 

    "<ol><li>Use this medicine</li></ol>" + 

    "Write your thoughts here. . ." 
+0

這不起作用@rudramuni,所有發生的符號+ – User501

+0

最後的'+'符號不是必需的或所有符號不是必需的? –

+0

last + symbol only @rudramuni,但我用這個。但一切都發生 – User501