在XSL中得到任意节点在DOM树中的深度

类别:.NET开发 点击:0 评论:0 推荐:

在XSL中得到任意节点在DOM树中的深度

孟子E章

要在XSL中得到任意节点的在XML DOM树中的深度,可以通过计算节点的祖先(ancestors)的数量得到。下面就是具体实现的例子。

TestNodeDeep.xml

<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="TestDeep.xsl"?> <root> <level-1> <level-1-1> <level-1-1-1/> </level-1-1> <level-1-2/> </level-1> <level-2> <level-2-1> </level-2-1> <level-2-2> <level-2-2-1/> </level-2-2> </level-2> </root>

TestNodeDeep.xsl

<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:for-each select="//*"> <xsl:value-of select="local-name()"/> = <xsl:value-of select="count(ancestor::*)"/> <br/> </xsl:for-each> </xsl:template> </xsl:stylesheet>

本文地址:http://com.8s8s.com/it/it45581.htm