XSLT专业站 - 提供xslt和xml相关的资料书籍和教程  
XSLT专业站 - 提供xslt和xml相关的资料书籍和教程
网站地图  收藏本站
首页 | 热门文章 | 精彩实例 | 经典教程 | XSLT语法详解 | 资料下载 | 休闲天地 | 交流论坛
  当前位置:首页>精彩实例>文章内容
查找节点的父节点
来源:XSLT.org.cn 作者:XSLT专业站 发布时间:2007-08-04  
查找节点的父节点


题目:

<root>
    <item id="1" parent="0" />
    <item id="2" parent="1" />
    <item id="3" parent="2" />
    <item id="4" parent="1" />
</root>

显示出目标示例中某个节点的父节点,由父节点向子节点排列(显示出目标示例中某个结点的父结点,由父结点向子结点排列.).

例如.得到一个<root id='3'/>的XML文件,以及一个 目标示例 (可以用Document函数打开,本演示用上面的示例做,就是树状那个).(filename:tree.xml)

那么输出的结果就是:1 - 2 - 3.



实现:

<?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="searchid" match="item" use="@id"/>
<xsl:template match="/">
  <xsl:call-template name="print-path">
   <xsl:with-param name="sid" select="'3'"/>
  </xsl:call-template>
</xsl:template>
<xsl:template name="print-path">
  <xsl:param name="sid" select="'0'"/>
  <xsl:for-each select="key('searchid',$sid)/ancestor-or-self::*">
   <xsl:value-of select="@id"/>
  </xsl:for-each>
</xsl:template>
</xsl:stylesheet>



标题: 查找节点的父节点
关键字:父节点 子节点 XML xsl:param xsl:call-template xsl:key
上一篇:把数据库输表用 XSLT 转化为树状   下一篇:查找公共祖先节点
  精彩实例热点文章
·XSLT 实例:使用不同的轴(Axis
·查找公共祖先节点
·利用 xslt 对 xml 进行缩进格式
·XSLT 实例:创建带有“前一页”
·利用 XSL 解析 RSS
·把数据库输表用 XSLT 转化为树状
·用 XML/XSL 来生成动态页面
·利用 XSL 对 XML 数据进行加密和
·XSLT 实例:统计作者出版物的销
·XSLT 实例:使用变量(Variable)
  精彩实例相关文章
·把数据库输表用 XSLT 转化为树状
·查找公共祖先节点
·利用 XSL 解析 RSS
·用 XML/XSL 来生成动态页面
·利用 xslt 对 xml 进行缩进格式
·利用 XSL 对 XML 数据进行加密和
·XSLT 实例:使用不同的轴(Axis
·XSLT 实例:统计作者出版物的销
·XSLT 实例:创建带有“前一页”
·XSLT 实例:使用变量(Variable)
Copyright© 2007 xslt.org.cn All rights reserved.