用于 Microsoft XML Core Services (MSXML) 4.0 Service Pack 2 的更新的说明

错误 #: 118145 (内容维护)BUG #: 332758 (SQLBUVSTS)

症状

当您访问某个 Web 站点或运行某个应用程序,使用 Microsoft XML Core Services (MSXML) (MSXML)加载 XHTML 文档时,MSXML 每次都将请求发送到万维网联合会 (W3C) 来获取已知的文档类型定义 (DTD) 文件。这种现象可能会使 W3C 服务器严重阻塞。有时,您可能会发现因为 DTD 请求被 W3C 服务器阻止而未能成功加载 XHTML 文件。


例如,您有一个 JavaScript 文件 (.js),其中包含下面的代码:

function pullXHtml() {  var xml = new ActiveXObject("Msxml2.DOMDocument.4.0");
xml.async = false;
xml.loadXML(
"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" +
"<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'><head><title>simple document</title></head>" +
"<body><p>a simple paragraph</p></body></html>");
if (xml.parseError.errorCode != 0) {
var myErr = xml.parseError;
WScript.Echo("ERROR:" + myErr.reason);
} else {
WScript.echo("The XHTML document was loaded successfully.");
}
}

pullXHtml();

当您运行 JavaScript 文件时,文件将使用 MSXML 加载 XHTML 文档。当您运行 JavaScript 文件时,如果 DTD 请求被W3C 服务器阻挡,如果您没有安装此更新,可能会收到下面的错误消息:

错误: 服务器无法理解此请求,或请求无效。
错误处理资源
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'.

安装此更新后,将成功运行 JavaScript 文件,您将收到以下消息︰

XHTML 文档已成功加载。注意:

  • 在应用此更新后,MSXML 缓存的 DTD 文件本地化以减少发送到 W3C 服务器的请求数。

  • 安装此更新后,可能提示您重新启动计算机。

  • 如果在 Windows Vista 中,Windows Server 2008 中,或在 Windows 7 中,您可以安装此更新,您必须以管理员身份运行该安装程序文件。

  • 有关 XHTML 文档类型定义 (DTD) 的更多信息,请参见"更多信息"一节。

解决方案

更新信息

如何确定 MSXML 版本

若要确定您的计算机安装的 MSXML 版本,请执行以下步骤:

  1. 在下面的目录中找到 Msxml4.dll 文件:
    C:\Windows\System32

  2. 用鼠标右键单击 Msxml4.dll 文件,然后单击属性

  3. 单击版本选项卡,以查看版本信息。
    注意:在 Windows Vista 中,Windows 7 中或 Windows Server 2008 中,请单击详细信息选项卡。

如何获取此更新

通过 Windows Update 将会自动安装此更新。但是,您也可以通过手动下载适当的的安装包来安装此更新。有几个包含此修复程序的软件包。这些程序包在以下不同的安装情况下发布:

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×