一段XSLT转换XML节点名的测试代码

本文展示了如何使用XSLT进行动态表单转换,包括加载XML、加载XSL模板并应用到XML节点中。

一段XSLT转换的代码,主要目的是实现动态表单时取XML节点名

也懒得说原理了。大家应该看得懂吧

<html> <head> <script> function test2() { // Load XML var xml = new ActiveXObject("Microsoft.XMLDOM") xml.async = false xml.loadXML(t1.value) // Load the XSL var xsl = new ActiveXObject("Microsoft.XMLDOM") xsl.async = false xsl.loadXML(t2.value) // Transform var sss=xml.transformNode(xsl); document.getElementById("mydiv").innerHTML=sss; } </script> </head> <body> <input type=button onclick="test2()" value="show content"> <div id="mydiv" style="boder:solid 1px red;"></div> <textarea id="t1" cols="100" rows=20> <?xml version="1.0" ?> <Forms> <Process name="Test1" dept="环保局" date="2011-1-1"> <Form> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </Form> </Process> <Process name="用地审批" dept="国土" date="2011-2-1"> <Form> <TITLE>Hello</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </Form> </Process> </Forms> </textarea> <textarea id="t2" cols="100" rows=20> <?xml version="1.0" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <xsl:template match="/Forms/Process"> <table border="1" style="border:solid 1px red; width:98%;margin:5px;"> <tr> <th width="200px"><xsl:value-of select="./@name"/></th> <th width="60%" align="right">发布单位:<xsl:value-of select="./@dept"/></th> <th>发布日期:<xsl:value-of select="./@date"/></th> </tr> <xsl:for-each select="./Form/*"> <tr> <td><xsl:value-of select="name()"/></td> <td colspan="2"><xsl:value-of select="."/></td> </tr> </xsl:for-each> </table> <hr /> </xsl:template> </xsl:stylesheet> </textarea> </body> </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值