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
%>