将SAX加入我们的ASP应用中(2)
[ 作者: hydnoahark 添加时间: 2001-7-25 20:10:21 ]
strqname as string) strxml = strxml & "</" & strlocalname & ">" end sub
private sub ivbsaxcontenthandler_characters(text as string) text = replace(text, vblf, vbcrlf) strxml = strxml & text end sub
private property set ivbsaxcontenthandler_documentlocator(byval rhs as msxml2.ivbsaxlocator)
end property
private sub ivbsaxcontenthandler_enddocument()
end sub
private sub ivbsaxcontenthandler_endprefixmapping(strprefix as string)
end sub
private sub ivbsaxcontenthandler_ignorablewhitespace(strchars as string)
end sub
private sub ivbsaxcontenthandler_processinginstruction(target as string, data as string) strxml = strxml & "<?" & target & " " & data & ">"
end sub
private sub ivbsaxcontenthandler_skippedentity(strname as string)
end sub
private sub ivbsaxcontenthandler_startdocument()
end sub
private sub ivbsaxcontenthandler_startprefixmapping(strprefix as string, struri as string)
end sub
类名:errorhandlerimpl 代码: option explicit
implements ivbsaxerrorhandler
private sub ivbsaxerrorhandler_fatalerror(byval lctr as ivbsaxlocator, msg as string, byval
errcode as long) strxml = strxml & "*** error *** " & msg end sub
private sub ivbsaxerrorhandler_error(byval lctr as ivbsaxlocator, msg as string, byval errcode as
long) end sub
private sub ivbsaxerrorhandler_ignorablewarning(byval olocator as msxml2.ivbsaxlocator,
strerrormessage as string, byval nerrorcode as long)
end sub
ok,让我们编译这个dll,应该是没什么问题了。让我们在asp中看看运行的结果怎么样: xml文件: <?xml version="1.0"?> <root foo="bar.com"> <parts> <part foo="bar.com" foo2="bar.com"> <partno>12345</partno> <description>vip - very important part</description> </part> <part> <partno>5678</partno> <description>lip - less important part</description> </part> </parts> </root>
asp文件: <% set a = createobject("saxtesting.clssaxtest") set xmldoc = a.myxmlparser("d:\test.xml") response.contenttype="text/xml" response.write xmldoc.xml set xmldoc=nothing set a=nothing %> 
|