0

我正在使用 SUN One(以前称为 Chillisoft)服务器托管的 ASP 站点上工作。我在加载 XML 文件时遇到问题,我使用的代码如下

dim directory
set directory = Server.CreateObject("MSXML2.DOMDocument")

if(directory.load(Server.MapPath("directory.xml"))) then
     Response.Write("Loaded")
else
     Response.Write("NotLoaded")
    If directory.parseError.errorCode Then
        Response.Write( "Parse error" )
    end if
end if

我的 asp 页面和 directory.xml 都在同一个文件夹“/public_html/”中。

我认为问题可能与 mappath 找不到文件有关,但没有返回错误,所以不知道该怎么做。

谢谢

4

2 回答 2

1

我对 Sun One 了解不多,但我知道它有一个模拟 MSXML 的 Bean。

通常,您会使用:-

Set directory = Server.CreateObject("MSXML2.DOMDocument")
directory.async = false
directory.load(Server.MapPath("directory.xml")

否则,当异步加载 xml 时,加载会立即返回。

它看不到您发布的代码如何不会返回没有错误的内容。

我的第一个诊断是:-

Response.Write(Server.MapPath("directory.xml"))

接着

Dim direcotory
Set directory = Server.CreateObject("MSXML.DOMDocument")
Response.Write(Not (directory Is Nothing))
于 2008-10-02T07:47:15.407 回答
0

加载可能会返回 false,因为它尚未完全加载文档。您需要找到一种方法将 async 设置为 false。如果 Sun One 很好地模拟了 MSXML2.DOMDocument,那么 async 应该接受 false 但您可以尝试 -1或者Response.Write(directory.async)了解它最初设置的内容。

于 2008-10-03T19:18:25.167 回答