晨风资讯网
新闻资讯网络冲浪网页设计网络编程图形图像数据库网络媒体服务器网络安全网站运营软件教程黑客认证Wap技术
教程搜索
教程搜索:
  首页 > 网络编程 > XML教程 > 正文  

将SAX加入我们的ASP应用中
日期:2006-1-20 10:36:08 来源:网络 作者:无名 浏览:

在处理大型的XML文档的时候,在服务器端直接使用XML DOM的时候速度是比较慢的,当我第一次接触到SAX的时候,我意识到我们应该在服务器端将DOM和SAX结合起来以提高我们程序的效率。我们在ASP中最常使用的就是使用COM来完成这个工作(也许你有更好的方法,下面只是包含了最基本的代码而已 )。 

首先我们创建一个DLL来封装SAX的功能好了。
测试环境:Win2k Prof.+MSXML3.0 sp1+VB6
要使用SAX我们必须引用(Reference)Microsoft XML 3.0(我的机器安装的是MSXML3.0 sp1)
工程名:SAXTesting
类名:clsSAXTest
方法:Public Function MyXMLParser(XML文件物理路径) as DOMDocument
代码:
Option Explicit

Public Function MyXMLParser(ByVal strXMLFilePath As Variant) As DOMDocument
Dim reader As New SAXXMLReader
Dim contentHandler As New ContentHandlerImpl
Dim errorHandler As New ErrorHandlerImpl


Set reader.contentHandler = contentHandler
Set reader.errorHandler = errorHandler
On Error GoTo ErrorHandle
Dim XMLFile As String
XMLFile = strXMLFilePath
reader.parseURL (XMLFile)

Dim xmlDoc As MSXML2.DOMDocument
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlDoc.loadXML strXML
Set MyXMLParser = xmlDoc
Set xmlDoc = Nothing
Exit Function

ErrorHandle:
Err.Raise 9999, "My XML Parser", Err.Number & " : " & Err.Description
End Function
类名:modPublic
代码:
Option Explicit
Global strXML As String
类名:ContentHandlerImpl
代码:
Option Explicit
Implements IVBSAXContentHandler

Private Sub IVBSAXContentHandler_startElement(strNamespaceURI As String, strLocalName As String, 
strQName As String, ByVal attributes As MSXML2.IVBSAXAttributes)

Dim i As Integer

intLocker = intLocker + 1
If intLocker > 1 Then

End If
strXML = strXML & "<" & strLocalName

For i = 0 To (attributes.length - 1)
strXML = strXML & " " & attributes.getLocalName(i) & "=""" & attributes.getValue(i) & 
""""
Next
strXML = strXML & ">"

If strLocalName = "qu" Then
Err.Raise vbObjectError + 1, "ContentHandler.startElement", "Found element <qu>"
End If
End Sub

本新闻共2页,当前在第1页  1  2  

本教程共2页,当前在第1页  1  2  


上一篇: 掌握SAX 下一篇:

XML Schema学习笔记

返回列表 打印此页 加入收藏 资讯论坛 关闭窗口 点击复制本页地址,发送给QQ/MSN好友
关于我们 - 联系我们 - 版权声明 - 帮助(?) - 广告服务 - 友情链接 - 服务项目 - 人才招聘
2003-2008 版权所有 © 晨风资讯网 未经授权禁止复制或建立镜像
CopyRight 2003-2008 www.Net118.com,All Rights Reserved.Design By ChenFeng Network Studio