ASP教程之实例练习训练ASP+XML编程(2)
由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。3、格局转换XSL文件申明(Persons.xsl)例程中利用XSL对XMl数据举行格局化,并以HTML的情势前往到客户端。这个历程也能够放在客户端举行,但思索到兼容性的成绩,例程中接纳了在服务器端经由过程ASP利用DOM举行格局化的办法。
XSL文件的内容以下,
<?xmlversion="1.0"encoding="gb2312"?>
<xsl:stylesheetxmlns:xsl="http://www.w3.org/1999/XSL/Transform"version="1.0">
<xsl:templatematch="/Persons">
<scriptlanguage="javascript">
functionadd()
{
window.open("add.asp","add","width=300,height=320,resize=no");
}
functionedit(intId)
{
window.open("edit.asp?id="+intId,"edit","width=300,height=320,resize=no");
}
</script>
<tablewidth="600"border="0"align="center">
<tr>
<tdalign="right"><ahref="javascript:add();"title="增加新接洽人">增加新接洽人</a> </td>
</tr>
</table>
<tablealign="center"width="680"cellspacing="1"cellpadding="2"border="0"bgcolor="#666600">
<trclass="title"bgcolor="#E5E5E5">
<tdwidth="25"><xsl:textdisable-output-escaping="yes">&</xsl:text>nbsp;</td>
<td>姓名</td>
<td>英文名</td>
<td>手机</td>
<td>德律风</td>
<td>Email</td>
<td>QQ</td>
<td>地点公司</td>
</tr>
<xsl:for-eachselect="Person">
<TRBGCOLOR="#FFFFFF">
<TDALIGN="right"><xsl:value-ofselect="position()"/></TD>
<TDSTYLE="color:#990000"><A><xsl:attributename="HREF">javascript:edit(<xsl:value-ofselect="position()"/>);</xsl:attribute><xsl:attributename="title">修正信息 </xsl:attribute><xsl:value-ofselect="Name"/></A></TD>
<TD><xsl:value-ofselect="Nick"/></TD>
<TD><xsl:value-ofselect="Mobile"/></TD>
<TD><xsl:value-ofselect="Tel"/></TD>
<TD><A><xsl:attributename="HREF">mailto:<xsl:value-ofselect="Email"/></xsl:attribute><xsl:value-ofselect="Email"/></A></TD>
<TD><xsl:value-ofselect="QQ"/></TD>
<TD><xsl:value-ofselect="Company"/></TD>
</TR>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
在服务器真个转换利用一个函数来完成,格局化乐成,前往HTML字符串,格局化失利,打印堕落误信息,以下,
*******************************************
申明:利用XSL文件格局化XML文件。
gwd2002-11-05
参数:strXmlFile--Xml文件,路径+文件名
strXslFile--Xsl文件,路径+文件名
前往:乐成--格局化后的HTML字符串
失利--自界说的毛病信息
*******************************************
FunctionFormatXml(strXmlFile,strXslFile)
DimobjXml,objXsl
strXmlFile=Server.MapPath(strXmlFile)
strXslFile=Server.MapPath(strXslFile)
SetobjXml=Server.CreateObject("MSXML2.DOMDocument")
SetobjXsl=Server.CreateObject("MSXML2.DOMDocument")
objXML.Async=False
IfobjXml.Load(strXmlFile)Then
objXsl.Async=False
objXsl.ValidateonParse=False
IfobjXsl.Load(strXslFile)Then
OnErrorResumeNext捕捉transformNode办法的毛病
FormatXml=objXml.transformNode(objXsl)
IfobjXsl.parseError.errorCode<>0Then
Response.Write"<br><hr>"
Response.Write"ErrorCode:"&objXsl.parseError.errorCode
Response.Write"<br>ErrorReason:"&objXsl.parseError.reason
Response.Write"<br>ErrorLine:"&objXsl.parseError.line
FormatXml="<spanclass=""alert"">格局化XML文件毛病!</span>"
EndIf
Else
Response.Write"<br><hr>"
Response.Write"ErrorCode:"&objXsl.parseError.errorCode
Response.Write"<br>ErrorReason:"&objXsl.parseError.reason
Response.Write"<br>ErrorLine:"&objXsl.parseError.line
FormatXml="<spanclass=""alert"">装载XSL文件毛病!</span>"
EndIf
Else
Response.Write"<br><hr>"
Response.Write"ErrorCode:"&objXml.parseError.errorCode
Response.Write"<br>ErrorReason:"&objXml.parseError.reason
Response.Write"<br>ErrorLine:"&objXml.parseError.line
FormatXml="<spanclass=""alert"">装载XML文件毛病!</span>"
EndIf
SetobjXsl=Nothing
SetobjXml=Nothing
EndFunction
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了, 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
页:
[1]