ASP+XML实例演练编程代码第1/3页(3)


 <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 
 strXmlFile = Server.MapPath(strXmlFile) 
 strXslFile = Server.MapPath(strXslFile) 
 Set objXml = Server.CreateObject("MSXML2.DOMDocument") 
 Set objXsl = Server.CreateObject("MSXML2.DOMDocument") 
 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 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/2675.html