如何在XSL中遍历每个节点?

时间:2015-07-20 13:21:48

标签: xslt

如何可视化以下XML

<Root>
 <name1> 
  <node1>  some text  </node1> 
  <node2>  <node22/>  <node23/>  </node2>  
 </name1> 
 <name2>   
  <node1>  some text  </node1> 
  <node2>  <node22/>  <node23/>  </node2>  
 </name2>   
</Root>

这些 node1,node12,node13,Root 节点的名称是已知的,但 name1,name2,等是事先未知的。

所需的输出应该是每个名称的两个表的集合,一个用于 node1 ,另一个用于 node2

我的问题是我无法迭代 nameX 因为我不知道节点的确切名称。在上面的示例中,我使用了 nameX ,但它可以是任何有效的名称。

1 个答案:

答案 0 :(得分:1)

  

所需的输出应该是每个名称的一组两个表,一个   对于node1和其他用于node2。

以这种方式尝试:

XSLT 1.0

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

<xsl:template match="/Root">
    <xsl:copy>
        <xsl:for-each select="*">
            <table>
                <!-- build your table here -->
            </table>
        </xsl:for-each>
    </xsl:copy>
</xsl:template>

</xsl:stylesheet>