实例演练ASP+XML编程(2)

2016-01-29 17:47 8 1 收藏

实例演练ASP+XML编程(2),实例演练ASP+XML编程(2)

【 tulaoshi.com - ASP 】

    三、格式转换XSL文件说明(Persons.xsl)

例程中使用XSL对XMl数据进行格式化,并以HTML的形式返回到客户端。这个过程也可以放在客户端进行,但考虑到兼容性的问题,例程中采用了在服务器端通过ASP操纵DOM进行格式化的方法。

XSL文件的内容如下,

<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/Persons">
<script language="javascript">
 function add()
 {
  window.open("add.asp", "add", "width=300,height=320,resize=no");
 }

 function edit(intId)
 {
  window.open("edit.asp?id="+intId, "edit", "width=300,height=320,resize=no");
 }
</script>
<table width="600" border="0" align="center">
 <tr>
  <td align="right"><a href="javascript:add();" title="添加新联系人">添加新联系人</a>  </td>
 </tr>
</table>

<table align="center" width="680" cellspacing="1" cellpadding="2" border="0" bgcolor="#666600">
 <tr class="title" bgcolor="#E5E5E5">
  <td width="25"><xsl:text disable-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-each select="Person">
 <TR BGCOLOR="#FFFFFF">
  <TD ALIGN="right"><xsl:value-of select="position()"/></TD>
  <TD STYLE="color:#990000"><A><xsl:attribute name="HREF">javascript:edit('<xsl:value-of select="position()"/>');</xsl:attribute><xsl:attribute name="title">修改信息  </xsl:attribute><xsl:value-of select="Name"/></A></TD>
  <TD><xsl:value-of select="Nick"/></TD>
  <TD><xsl:value-of select="Mobile"/></TD>
  <TD><xsl:value-of select="Tel"/></TD>
  <TD><A><xsl:attribute name="HREF">mailto:<xsl:value-of select="Email"/></xsl:attribute><xsl:value-of select="Email"/></A></TD>
  <TD><xsl:value-of select="QQ"/></TD>
  <TD><xsl:value-of select="Company"/></TD>
 </TR>
 </xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>

在服务器端的转换使用一个函数来完成,格式化成功,返回HTML字符串,格式化失败,打印出错误信息,如下,

'*******************************************
' 说明:使用XSL文件格式化XML文件。
' 作者:gwd 2002-11-05
' 参数:strXmlFile -- Xml文件,路径+文件名
' strXslFile -- Xsl文件,路径+文件名
' 返回:成功 -- 格式化后的HTML字符串
' 失败 -- 自定义的错误信息
'*******************************************
Function FormatXml(strXmlFile, strXslFile)
 Dim objXml, objXsl

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

 strXmlFile = Server.MapPath(strXmlFile)
 strXslFile = Server.MapPath(strXslFile)

 Set objXml = Server.CreateObject("MSXML2.DOMDocument")
 Set objXsl = Server.CreateObject("MSXML2.DOMDocument")

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

 objXML.Async = False
 If objXml.Load(strXmlFile) Then
  objXsl.Async = False
  objXsl.ValidateonParse = False
  If objXsl.Load(strXslFile) Then
   On Error Resume Next ' 捕获transformNode方法的错误
   FormatXml = objXml.transformNode(objXsl)
   If objXsl.parseError.errorCode <> 0 Then
    Response.Write "<br><hr>"
    Response.Write "Error Code: " & objXsl.parseError.errorCode
    Response.Write "<br>Error Reason: " & objXsl.parseError.reason
    Response.Write "<br>Error Line: " & objXsl.parseError.line
    FormatXml = "<span class=""alert"">格式化XML文件错误!</span>"
   End If
  Else
   Response.Write "<br><hr>"
   Response.Write "Error Code: " & objXsl.parseError.errorCode
   Response.Write "<br>Error Reason: " & objXsl.parseError.reason
   Response.Write

来源:http://www.tulaoshi.com/n/20160129/1502984.html

延伸阅读
标签: ASP
  一、读者指引 读者指引帮助你掌握本文的梗概。以免你看了大半才明白这编文章不适合你,给你造成视觉污染。 如果你正在用ASP+XML写一些程序,或者你正在学XML那就值得一看。 阅读本文须具备的知识,对ASP有基本的了解,对XML和DOM有基本了解,如果你不了解那么你通过学习本文基本上能够撑握ASP+XML和DOM的应用,...
标签: ASP
  七、总结 到这里我们就建立一个简单并有分页功能的XML留言本了,呵看完了简单吧,其实我这里只起一个抛砖引玉的功能,其目的是引导大家建立更复杂更好的ASP+XML程序,例如:所上面的留言本加上回复功能,管理功能,点击计数据功能等,甚至你可以把它变一个BBS等等。最后留言本运行结果如下: (List.xml在IE5下面的运行结果...
标签: Web开发
XML作为全球通用的结构化语言,越来越受人们青睐,各种开发平台(比如Microsoft Studio系列、Oracle系列、Inprise Borland系列等)也都把支持XML开发作为宣传口号之一。在许多项目中利用XML数据交换信息,省去了许多麻烦事,不用制定繁锁的数据格式,利用XML数据易于表达,也利于一线开发者跟踪调试。 在XML应用中,最常用也最实用的莫过于XML...
标签: ASP
  <% '---------------------------------------------------------------- '程序简介: 完成asp语言对XML文档中指定节点文本的增加、删除、修改、查看 '入口参数: 无 '出口参数: 无 '------------------------------------------------ '函数名字:ConnectXml() '入口参数: filename 需要连接或打开的xml文件名 '出口参数: 无...
标签: Web开发
这篇对 XML 和语义的讨论揭开了这个由 Uche Ogbuji 撰写的专栏的序幕,本专栏讨论了 XML 知识管理方面的问题,包括元数据、语义、资源描述结构 (RDF)、主题映射和自主主体。本专栏从实践的角度来剖析这个主题,因此它针对的读者是程序员,而不是针对理论家。 XML 编程思想这个新专栏将讨论 XML 和 知识体系结构 (KA) 的交汇处。知识体...

经验教程

49

收藏

96
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部