此XSLT将生成所需的树:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="yes"/>
<xsl:template match="/">
<xsl:apply-templates select="nodes/node">
<xsl:with-param name="indent" select="''" />
<xsl:with-param name="parent" select="''" />
</xsl:apply-templates>
</xsl:template>
<xsl:template match="node">
<xsl:param name="indent"/>
<xsl:param name="parent"/>
<xsl:value-of select="$indent" />
<xsl:value-of select="substring-after(name/text(), $parent)" />
<xsl:text>
</xsl:text>
<xsl:apply-templates select="./node">
<xsl:with-param name="indent" select="concat($indent, ' |')" />
<xsl:with-param name="parent" select="name/text()" />
</xsl:apply-templates>
</xsl:template>
</xsl:stylesheet>
在接下来的两列中添加数据非常简单,请尝试自己完成。