xsl转为HTML问题

linhaiboma 2011-07-04 02:24:46
<?xml version="1.0" encoding="utf-8"?>
<xml>
<row>1111</row>
<row>2222</row>
<row>3333</row>
<row>4444</row>
</xml>


怎么把以上数据格式化成以下这种格式?

<div>
<div>
<div>
<div>111</div>
2222
</div>
3333
</div>
4444
</div>
...全文
127 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
linhaiboma 2011-07-09
  • 打赏
  • 举报
回复
谢谢,辛苦您了。
licry01 2011-07-06
  • 打赏
  • 举报
回复
好久没接分了, 接点浮云吧
把下面的copy出去, 存成一个htm文件, 然后用IE打开, 能看到你要的结果.


<html>
<head>
<META http-equiv=Content-Type content="text/html;charset=utf-8">
</head>
<body topmargin="0" rightmargin="0" leftmargin="0">
<xml id=xdoc>
<root>
<row>1111</row>
<row>2222</row>
<row>3333</row>
<row>4444</row>
<row>5555</row>
<row>6666</row>
<row>7777</row>
<row>8888</row>
</root>
</xml>

<xml id=xsl>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
<xsl:output method="html" indent="yes"/>

<xsl:template match="/">

<xsl:call-template name="AAAA">
<xsl:with-param name="pos" select="count(//row)" />
</xsl:call-template>

</xsl:template>

<xsl:template name="AAAA">
<xsl:param name="pos" />

<div>
<xsl:if test="number($pos) > 1">
<xsl:call-template name="AAAA">
<xsl:with-param name="pos" select="number($pos)-1" />
</xsl:call-template>
</xsl:if>
<xsl:value-of select="//row[number($pos)]" />
</div>

</xsl:template>

</xsl:stylesheet>
</xml>


<textarea rows="15" cols="100" id="txt"></textarea>
<div id="mdiv"></div>


<script type="text/javascript" language="javascript">
document.getElementById("txt").value = xdoc.transformNode(xsl);
document.getElementById("mdiv").innerHTML= document.getElementById("txt").value;
</script>


</body>
</html>


8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧