2010-06-20 69 views
0

來源:我如何使用xslt獲得相同的名稱子文本?

<article> 
<title>title1</title> 
<description>des1</description> 
<child> 
    <children> 
    <subarticle> 
     <title>subtitle11</title> 
     <description>subdes11</description> 
    </subarticle> 
    </children> 
    <children> 
    <subarticle> 
     <title>subtitle12</title> 
     <description>subdes12</description> 
    </subarticle> 
    </children> 
</child> 
</article> 
<article> 
<title>title2</title> 
<description>des2</description> 
<child> 
    <children> 
    <subarticle> 
     <title>subtitle21</title> 
     <description>subdes21</description> 
    </subarticle> 
    </children> 
    <children> 
    <subarticle> 
     <title>subtitle22</title> 
     <description>subdes22</description> 
    </subarticle> 
    </children> 
</child> 
</article> 

使用XLST後,我希望文檔是這樣的:

<article> 
<title>title1</title> 
<description>des1 des11 des12</description> 
</article> 

<article> 
<title>title2</title> 
<description>des2 des21 des22</description> 
</article> 

這裏有人給出任何建議,謝謝!

+0

這是不完全清楚,我的翻譯是在這裏什麼; 「des22」從哪裏來的? (它不在源中) – 2010-06-20 07:19:39

回答

2

我想「des11」和「des12」應該是「subdes11」和「subdes12」。

試試這個:

<xsl:template match="article"> 
    <article> 
    <title><xsl:value-of select="title/text()"/></title> 
    <description> 
     <xsl:value-of select="description/text()"/> 
     <xsl:for-each select="child/children"/> 
     <xsl:text> </xsl:text> 
     <xsl:value-of select="subarticle/description/text()"/> 
     </xsl:for-each> 
    </description> 
    </article> 
</xsl:template> 
相關問題