2015-10-06 109 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

是的,它是一样的。 –