2012-04-18 66 views
2

這是我擁有的xml。如何在xml中爲可選標籤包含元素

<Parent> 
     <child> 
     <child1>Ram</Child1> 
     <child2>Buss</Child2> 
     </child> 
    </Parent> 

對於這個xml我需要有和xsl文件,以便生成子1和子2的名稱。但子2標籤是可選的。所以我需要獲取child2的文本內容,只有當標籤出現時,如果child2標籤出現,我還必須在child1和child2的文本內容之間給出一個斜槓字符(/)。我如何在XSL中執行此操作?

+0

所以,你要生產: 「Child1/CHILD2」 或「Ram/Buss」?在這個問題上,你似乎要求這兩個...... – 2012-04-18 12:42:10

回答

1

這可能是最簡單的和最短的解決方案之一:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="text"/> 
<xsl:strip-space elements="*"/> 

<xsl:template match="child2"> 
    <xsl:value-of select="concat('/', .)"/> 
</xsl:template> 
</xsl:stylesheet> 

當所提供的應用(文本,校正,以使其製造)XML文檔

<Parent> 
    <child> 
     <child1>Ram</child1> 
     <child2>Buss</child2> 
    </child> 
</Parent> 

在想,正確的結果產生:

Ram/Buss 

當這個XML文檔施加:

<Parent> 
    <child> 
     <child1>Ram</child1> 
    </child> 
</Parent> 

再次通緝的結果產生

Ram 
相關問題