收录日期:2019/03/27 11:17:25 时间:2016/05/18 06:54:42 标签:XML/XSL

我从页面表单获取一个值,username=request("username")
然后我要在xml文档中找到用户名=username的其它信息
这就要在XSL中定义变量,将username的值赋给它,并引用它,请问,这个过程该如何来实现??

<预订 date="3/25/2003">
<订单号>20030325-124536</订单号>
<用户名>wangxiaoli</用户名>
<商品>
<音乐编号>CD-1023</音乐编号>
<专辑名>盛夏的果实</专辑名>
<价格>49.99</价格>
<数量>1</数量>
</商品>
<收件人>
<收件人姓名>王晓莉</收件人姓名>
<详细地址>武汉理工大学327信箱</详细地址>
<邮政编码>430063</邮政编码>
<收件人电话>1212121</收件人电话>
</收件人>
<付款方式>信用卡</付款方式>
<备注>10天内寄到!急!</备注>
</预订>


<xsl:template match="预订">
<tr>
<td><xsl:value-of select="用户名"/></td>
<td><xsl:value-of select="订单号"/></td>
<td><xsl:value-of select="商品/音乐编号"/></td>
<td><xsl:value-of select="商品/价格"/></td>
<td><xsl:value-of select="收件人/收件人姓名"/></td>
<td><xsl:value-of select="数量"/></td>
<td><xsl:value-of select="付款方式"/></td>
</tr>
</xsl:template>
eg:

test.asp:
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>

<%
dim xmldoc,xmlTempdoc

username="ssm1226"

set xmldoc=server.CreateObject("msxml2.domdocument")
xmldoc.async=false
xmldoc.load server.MapPath("test.xml")

dim objTransform
set objTransform=server.CreateObject("msxml2.FreeThreadedDomDocument")
objTransform.load server.MapPath("test.xsl")

dim objTemplate
set objTemplate=server.CreateObject("msxml2.XSLTemplate")
set objTemplate.stylesheet=objTransform

dim objProcessor 
set objProcessor=objTemplate.createProcessor
objProcessor.input=xmldoc
objprocessor.addParameter "username",username
objProcessor.transform

dim strReport
strReport=objProcessor.output

Response.ContentType="text/html"

Response.Write strReport
set objProcessor=nothing
set objTemplate=nothing
set xmldoc=nothing
%>
</BODY>
</HTML>


test.xml:
<?xml version='1.0' encoding='gb2312'?>
<root>
<预订 date="3/25/2003">
<订单号>20030325-124536</订单号>
<用户名>wangxiaoli</用户名>
<商品>
<音乐编号>CD-1023</音乐编号>
<专辑名>盛夏的果实</专辑名>
<价格>49.99</价格>
<数量>1</数量>
</商品>
<收件人>
<收件人姓名>王晓莉</收件人姓名>
<详细地址>武汉理工大学327信箱</详细地址>
<邮政编码>430063</邮政编码>
<收件人电话>1212121</收件人电话>
</收件人>
<付款方式>信用卡</付款方式>
<备注>10天内寄到!急!</备注>
</预订>
<预订 date="3/25/2003">
<订单号>20030325-124536</订单号>
<用户名>ssm1226</用户名>
<商品>
<音乐编号>CD-1023</音乐编号>
<专辑名>盛夏的果实</专辑名>
<价格>49.99</价格>
<数量>1</数量>
</商品>
<收件人>
<收件人姓名>雨中人</收件人姓名>
<详细地址>武汉理工大学327信箱</详细地址>
<邮政编码>430063</邮政编码>
<收件人电话>1212121</收件人电话>
</收件人>
<付款方式>信用卡</付款方式>
<备注>10天内寄到!急!</备注>
</预订>
</root>

test.xsl:

<?xml version='1.0' encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="username" select="''"/>
<xsl:template match="/">
<xsl:apply-templates select="root/预订[用户名=$username]"/>
</xsl:template>
<xsl:template match="预订">
<table>
<tr>
<td><xsl:value-of select="用户名"/></td>
<td><xsl:value-of select="订单号"/></td>
<td><xsl:value-of select="商品/音乐编号"/></td>
<td><xsl:value-of select="商品/价格"/></td>
<td><xsl:value-of select="收件人/收件人姓名"/></td>
<td><xsl:value-of select="数量"/></td>
<td><xsl:value-of select="付款方式"/></td>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>
试过好多次了,还是显示不出来,什么也没有
好了,可以显示了,谢谢你!!

读一个比较大的文件,把内容放入RichTextBox中,为什么速度这么慢? 哪位前辈高人,来给看看. 免费FTP------O\'Reilly 看看你的一生是不是这样的 请教lcc win32编译器参数优化程序 如何在VC中动态调用Dll导出类中的成员函数(最好有源代码) 怎样才能正确trace出delete 的堆空间被真正释放了? 急!特别着急!在线等待,关于数据库的错误信息! 请问rmvb格式的视频用什么播放啊? 怎样爱习、理解数组呢? 一个很菜的问题,急啊..各位大哥快来...小弟扣谢!! 急求Linux下的rtsp服务器的源码? 问一个简单而特急的问题!!!!!!!!!!!!!!!!!!! 问:在LOTUS中有没有分层显示的功能呢? 问一个简单而特急的问题!!!!!!!!!!!!!!!!!!! QuickRep报表的问题 CSDN里最有意思,最有个性,最诱人,最有吸引力,最富有创造力,最让人难忘的,最棒,最好,最妙,最呱呱叫的回帖,就是---------------- 请教:有没有perl的函数及功能列表啊?有没有perl比较好的电子文档啊? 调查:哪些公司使用了Spring MVC、Hibernate或其他开源项目 为什么这段脚本无法正常运呢? 如何在查询分析器中使用SQL语句将c:\\abc.bmp插入到数据表中的一个字段F_Photo(image类型)中? 三个小问题,高手进来轻松搞定下.~~~ 求论坛源代码 怎么样对access数据库修改指定项的字段值,急!!! 晚上出去玩早点回来,注意安全 Ado操作SQLServer时遇到的问题,高手请帮忙! 抽象类只实现部分方法,输出结果…… 怎么样对access数据库修改指定项的字段值,急!!! 怎么样对access数据库修改指定项的字段值,急!!! [推荐]【陈道明妙语】zt - 欢迎大家一起评论