利用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>

相关文章推荐

利用XSLT把ADO记录集转换成XML

  • 2008年10月22日 16:22
  • 12KB
  • 下载

JAVA利用XSLT进行格式转换,XML转成自己需要的XML、HTML等。

JAVA利用XSLT进行格式转换,XML转成自己需要的XML、HTML等。

C# 处理XML + XSLT转换中HTML元素的输出问题及解决

====================================================== 注:本文源代码点此下载 =============================...

XSLT实现XML文档转换成HTML文档

XML文档描述了数据的结构,并且可以用自定义的标记元素描述数据意义,而且实现了记录数据的功能。如果想要将XML的数据显示在网页页面上,如何做呢? 最简单的方式就是将XML文件直接用浏览器打开...
  • xqf309
  • xqf309
  • 2012年10月22日 20:42
  • 9368

xslt转换xml

实现json--> xml --(xlst)--> xml pom依赖 net.sf.json-lib json-lib 2.4 jdk15 xom...

java_xslt转换xml

  • 2013年11月04日 15:10
  • 4KB
  • 下载

XML树型菜单

  • 2012年11月09日 13:14
  • 30KB
  • 下载

XSLT——XML样式表转换语言

XML样式表转换语言 1. XSLT是XSLTransformations的缩写,它是XSL的一个组成部分。 XSL(EXtensible StyleSheet)由三部分组成: –  XSLT。...

利用xslt对xml中数据实现splite换行的总结

Empire Burlesque Use xlst to dealwith xml USA test1,test2,test3 10.90 1985 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用XSLT将线性XML转换为树型XML
举报原因:
原因补充:

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