2015-10-06 111 views
0

我有嵌套的文件elements.Now我想用XSLT 2.0從xslt中的嵌套元素創建元素列表?

這裏一個元素一一列舉了其它元素之後是輸入:

<?xml version="1.0" encoding="UTF-8"?> 
<a> 
    <b> 
     test text 
     <b> 
      this text is in b 
     </b> 
    </b> 
    <b> 
     this text is 
     <b> 
      this text is test 
     </b> 
    </b> 
</a> 

這是我所期望的:

<a> 
    <b>test text</b> 
    <b>this text is in b</b> 
    <b>this text is </b> 
    <b>this text is test</b> 
</a> 

我沒有任何想法做到這一點..我嘗試了分組的概念..但它沒有成功。請幫我解決這個問題。

回答

0

試試這個

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

    <xsl:strip-space elements="*"/> 
    <xsl:output indent="yes" omit-xml-declaration="yes"/> 

    <xsl:template match="*|@*"> 
     <xsl:copy> 
      <xsl:apply-templates select="node()|@*"/> 
     </xsl:copy> 
    </xsl:template> 

    <xsl:template match="b[b]"> 
     <xsl:copy> 
      <xsl:apply-templates select="text()"/> 
     </xsl:copy> 
     <xsl:apply-templates select="*"/> 
    </xsl:template>  

    <xsl:template match="text()"> 
     <xsl:value-of select="normalize-space(.)"/> 
    </xsl:template> 

</xsl:stylesheet> 
+0

感謝@ Joel..It工作well..and這是B [B]是相同的B [孩子:: B]? – user2490093

+0

是的,它是一樣的。 –