XSLT/XSL 递归嵌套元素
Posted
技术标签:
【中文标题】XSLT/XSL 递归嵌套元素【英文标题】:XSLT/XSL recursive nested elements 【发布时间】:2013-06-26 11:11:19 【问题描述】:我需要在 XSL 中创建递归转换, 输入xml
<root><foo1 /><foo2 /><foo3 /></root>
输出
<root>
<foo1>
<foo2>
<foo3>
</foo3>
</foo2>
<foo1>
</root>
非常感谢您的帮助...
【问题讨论】:
***.com/questions/17370562/… 【参考方案1】:试试这样的:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" method="xml"/>
<xsl:template match="/root">
<xsl:copy>
<xsl:apply-templates select="*[1]" />
</xsl:copy>
</xsl:template>
<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates select="following-sibling::*[1]" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
这将生成以下输出:
<?xml version="1.0"?>
<root>
<foo1>
<foo2>
<foo3/>
</foo2>
</foo1>
</root>
【讨论】:
以上是关于XSLT/XSL 递归嵌套元素的主要内容,如果未能解决你的问题,请参考以下文章