我正在开发一个使用ASP classic的项目。我遇到了这个错误:
Microsoft VBScript运行时错误'800a01a8'
需要的对象:'objContent.documentElement'
/muhproject/includes/clsTransform.asp,第138行
如何根据需求将objContent.documentElement
包含在项目中?
文件的第138行如下:
'Attach fragment into pageContentXML
objContent.documentElement.appendChild xDoc2.documentElement
编辑:这是代码的全部功能
'TransformContent - accepts content in XML data, and contentXSL file path
public function TransformContent(scriptNameFull, fragmentXML)
fragmentXML = decodeUTF8(fragmentXML)
'1. Load the content.html (as XML)
Dim objContent
set objContent = Server.CreateObject("Msxml2.DOMDocument.3.0")
Dim contentXSLSpec
contentXSLSpec = rootRel & "/muhproject/template/page/content.xsl" 'this is fixed
objContent.async = false
objContent.validateOnParse = false
objContent.load( server.MapPath(scriptNameFull) )
'2. Load fragmentXML XML fragment
Dim xDoc2
set xDoc2 = Server.CreateObject("Msxml2.DOMDocument.3.0")
xDoc2.Async = false
xDoc2.resolveExternals = false
xDoc2.validateOnParse = false
xDoc2.loadXML(fragmentXML)
'3. Attach fragment into pageContentXML
objContent.documentElement.appendChild xDoc2.documentElement
Dim objXSL
set objXSL = Server.CreateObject("Msxml2.DOMDocument.3.0")
objXSL.async = false
objXSL.validateOnParse = false
objXSL.load( server.mapPath(contentXSLSpec) )
'3. Do the transformation
Dim retVal
retVal = objContent.transformNode(objXSL.documentElement)
set objContent = nothing
set xDoc2 = nothing
set objXSL = nothing
TransformContent = retVal
end function
答案 0 :(得分:0)
将oracle的论点带回家:
除了所有意外,您的脚本是:
Option Explicit
Dim objContent : Set objContent = CreateObject("Msxml2.DOMDocument.3.0")
objContent.load "nosuch.xml"
objContent.documentElement.appendChild "pipapo"
输出:
cscript 18732533.vbs
...\18732533.vbs(5, 1) Microsoft VBScript runtime error: Object required: 'ocumentElement'
如果您遵循“通过检查错误确保您的乐观假设”这一规则,您的脚本将如下所示:
Option Explicit
Dim objContent : Set objContent = CreateObject("Msxml2.DOMDocument.3.0")
objContent.load "nosuch.xml"
If 0 = objContent.ParseError Then
objContent.documentElement.appendChild "pipapo"
Else
WScript.Echo objContent.ParseError.Reason
End If
输出:
cscript 18732533.vbs
The system cannot locate the resource specified.
(相对于有关现有文件格式不正确的内容的一些信息)。