利用XSLT将线性XML转换为树型XML

原创 2006年06月08日 20:00:00

对XML进行格式化控制,也是XSLT的常见应用之一。
下面代码XSLT代码将示范如何将线性XML转换为树型XML。

data.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="format.xsl"?>
<root>
 <item id="1" fatherid="" name="总部"/>
 <item id="2" fatherid="1" name="分公司1"/>
 <item id="4" fatherid="2" name="分公司1的子公司1"/>
 <item id="8" fatherid="4" name="分公司1的子公司1的子公司1"/>
 <item id="7" fatherid="4" name="分公司1的子公司1的子公司2"/>
 <item id="5" fatherid="7" name="分公司1的子公司1的子公司2的子公司"/>
 <item id="6" fatherid="2" name="分公司1的子公司2"/>
 <item id="3" fatherid="1" name="分公司2"/>
</root>


format.xsl:

<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="xml" indent="yes"/>
 <xsl:template match="/root">
  <root>
   <xsl:apply-templates select="*[@fatherid='']"/>
  </root>
 </xsl:template>
 <xsl:template match="*">
  <xsl:variable name="Id" select="@id"/>
  <xsl:copy>
   <xsl:copy-of select="@*"/>
   <xsl:apply-templates select="/root/item[@fatherid=$Id]"/>
  </xsl:copy>
 </xsl:template>
</xsl:stylesheet>

用XSL与XML实现多级树形菜单

XSL语言功能强大而奇妙。从前面的例子中,我们可以初步了解到,一个xsl文档中使用了很多类似"xsl:xxxxx"这样的标签,这些标签就是xsl语言的部分。一个xsl文档至少是由一个模板组成的,xsl...
  • turbochen
  • turbochen
  • 2004年09月16日 16:05
  • 3909

XML.转换XML的工具.XSLT

eXtensible Stylesheet Language Transformations 本身是XSL规范的一部分,专门用于对XML的树型数据进行重组转换,并可以以各种格式输出 示例//hello...
  • stringNewName
  • stringNewName
  • 2016年06月08日 00:58
  • 718

通过XSLT转换XML

一 介绍 XSLT是一种用来转换XML文档结构的语言,它是EXtensible Style Language Extensions Transformations的缩写。 XSLT类似与HTML中...
  • chengqiuming
  • chengqiuming
  • 2017年04月12日 10:47
  • 597

xsl与xml转换示例

java xml,xsl,html文件转换   java文件代码: package com.test; import java.io.ByteArrayInputStream; imp...
  • lvyuan30276
  • lvyuan30276
  • 2016年01月05日 23:41
  • 2509

利用XSL双向转换XML文档

在实际应用中,经常要用到XML文件来存储相关的信息.而XML文件可以有三种结构:1:层次结构.DBTableName>  TableInfo>    Name>SZYLTJName>    Type>...
  • erqie
  • erqie
  • 2006年12月07日 14:59
  • 1307

利用Treeview实现树形列表

  • zgqtxwd
  • zgqtxwd
  • 2008年04月24日 08:03
  • 108

.net组件及控件

.net组件和控件                                         DevExpress DotNetBar V4.7DevExpress DotNetBar V4.7...
  • RainyLin
  • RainyLin
  • 2008年12月03日 15:25
  • 6287

[转贴]利用Treeview实现树形列表

  以前,在WEB页面中如果想使用树形控件的话,往往会有些麻烦,有时甚至要自己写代码来达到用树形列表显示数据的目的。在asp.net中,我们可以很方便地使用由微软提供的Internet Exploer...
  • snaill
  • snaill
  • 2005年03月27日 06:43
  • 972

通过xslt将xml转换为html代码

1)一个xml文件,里面是需要转换的内容     2)一个xslt文件,里面是转换的格式     3)一个java测试类,通过此类将文件进行转换 xml文件和xlst文件以及java代码...
  • winggyn
  • winggyn
  • 2013年05月06日 17:30
  • 658

xslt将word转换成html,xslt将xml转换成html

(一)后台转换,不需要jsp页面(word模板,xml模板) 1.需要下载xalan.jar(在博客资源内,免分)   2.需要xslt文件(该文件对相应格式的xml,语法参考http://www.w...
  • Truong
  • Truong
  • 2012年12月12日 17:15
  • 2073
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用XSLT将线性XML转换为树型XML
举报原因:
原因补充:

(最多只允许输入30个字)