VB编写DLL中的XML有关问题
VB编写DLL中的XML问题
最近在编写一个DLL,其涉及到在DLL中操作XML文档
可代码写好后在VB的调试环境中能正常运行DLL,可一旦注册后在ASP中正式使用时却总是出现“未设置对象变量或 With block 变量”的错误提示。
DLL中关键代码如下:
Function getNodeValue(XMLPath, Field)
Dim XMLDoc As New MSXML2.DOMDocument
Dim root As IXMLDOMElement
Dim tmp As String
Set XMLDoc = New MSXML2.DOMDocument
XMLDoc.async = False
XMLDoc.Load (XMLPath)
Set root = XMLDoc.documentElement
tmp = root.selectSingleNode( "//data000/data101 ").nodeTypedValue
Set root = Nothing
Set XMLDoc = Nothing
getNodeValue = CStr(tmp)
End Function
请问该如何解决?
------解决方案--------------------
XMLDoc.Load 需要后用 ParseError 判断是否成功,你将错误输出看看,可能 XMLPath 不对了。
------解决方案--------------------
既然楼主说是那句的问题,那么出现对象变量未设置,那么可以就是
Set root = XMLDoc.documentElement
该语句不成功啰。
------解决方案--------------------
XMLDoc.Load 可以返回布尔值,判断一下。
------解决方案--------------------
你怎么保证 ASP 调用时 XMLPath 就对了?
显示 ParseError 没错才能说明 Load 成功,调试环境不算!
最近在编写一个DLL,其涉及到在DLL中操作XML文档
可代码写好后在VB的调试环境中能正常运行DLL,可一旦注册后在ASP中正式使用时却总是出现“未设置对象变量或 With block 变量”的错误提示。
DLL中关键代码如下:
Function getNodeValue(XMLPath, Field)
Dim XMLDoc As New MSXML2.DOMDocument
Dim root As IXMLDOMElement
Dim tmp As String
Set XMLDoc = New MSXML2.DOMDocument
XMLDoc.async = False
XMLDoc.Load (XMLPath)
Set root = XMLDoc.documentElement
tmp = root.selectSingleNode( "//data000/data101 ").nodeTypedValue
Set root = Nothing
Set XMLDoc = Nothing
getNodeValue = CStr(tmp)
End Function
请问该如何解决?
------解决方案--------------------
XMLDoc.Load 需要后用 ParseError 判断是否成功,你将错误输出看看,可能 XMLPath 不对了。
------解决方案--------------------
既然楼主说是那句的问题,那么出现对象变量未设置,那么可以就是
Set root = XMLDoc.documentElement
该语句不成功啰。
------解决方案--------------------
XMLDoc.Load 可以返回布尔值,判断一下。
------解决方案--------------------
你怎么保证 ASP 调用时 XMLPath 就对了?
显示 ParseError 没错才能说明 Load 成功,调试环境不算!