|
把数据库输表用 XSLT 转化为树状
题目:
把数据库输出的表用XSLT转化为树状的.
输出表示例:
<root> <item id="1" parent="0" /> <item id="2" parent="1" /> <item id="3" parent="2" /> <item id="4" parent="1" /> </root>
目标示例:
<root> <item id="1"> <item id="2"> <item id="3" /> </item> <item id="4"/> </item> </root>
实现:
<?xml version="1.0" encoding="UTF-8"?> <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:key name="parentid" match="item" use="@parent"/> <xsl:template match="/"> <root> <xsl:apply-templates select="root/item[@parent='0']"/> </root> </xsl:template> <xsl:template match="item"> <xsl:element name="{name(.)}"> <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute> <xsl:for-each select="key('parentid',@id)"> <xsl:apply-templates select="."/> </xsl:for-each> </xsl:element> </xsl:template> </xsl:stylesheet>
标题: 把数据库输表用 XSLT 转化为树状
关键字:XSLT 树状 xsl:key
|