8,906
社区成员
发帖
与我相关
我的任务
分享
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<Root>
<Page>
<SubPage1>
<Node1 a1='x1' b1='y1' c1='z1' />
<Node2 aa1='xx1' bb1='yy1' cc1='zz1' />
<Node3 aaa='xxx1' bbb='yyy1' ccc1='zzz1' />
</SubPage1>
<SubPage2>
<Node1 a2='x2' b2='y2' c2='z2' />
<Node2 aa2='xx2' bb2='yy2' cc2='zz2' />
<Node3 aaa2='xxx2' bbb2='yyy2' ccc2='zzz2' />
</SubPage2>
</Page>
</Root>
test.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" indent="yes" />
<xsl:template match="/Root/Page">
<xsl:apply-templates select="*" mode="SubPage" />
</xsl:template>
<xsl:template match="*" mode="SubPage">
<xsl:apply-templates select="*" mode="Node" />
</xsl:template>
<xsl:template match="*" mode="Node">
<xsl:call-template name="node" />
</xsl:template>
<xsl:template name="node">
<!-- 用于浏览器中演示的模板 -->
<xsl:for-each select="@*">
<Node name="<xsl:value-of select='name()' />"><br />
<xsl:text> </xsl:text>
<value><xsl:value-of select="." /></value><br />
</Node><br />
</xsl:for-each>
<!-- 正式模板 -->
<!--
<xsl:for-each select="@*">
<Node name="name()">
<value><xsl:value-of select="." /></value>
</Node>
</xsl:for-each>
-->
</xsl:template>
</xsl:stylesheet>
可直接在浏览器中访问 test.xml 即可看到转换结果。