症状
访问网站或运行使用 Microsoft XML Core Services (MSXML) 加载 XHTML 文档的应用程序时,MSXML 会向万维网联盟发送请求 (W3C) ,以便每次提取已知的文档类型定义 (DTD) 文件。 此行为可能会给 W3C 服务器带来大量流量。 有时,你可能会发现 XHTML 文件未成功加载,因为 W3C 服务器阻止了 DTD 请求。
例如,有一个包含以下代码的 JavaScript 文件 (.js) :
function pullXHtml() {
var xml = new ActiveXObject("Msxml2.DOMDocument.6.0");
xml.async = false;
xml.resolveExternals = true;
xml.validateOnParse = false;
xml.setProperty("ProhibitDTD", 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 文件时,如果 W3C 服务器阻止了 DTD 请求,则可能会收到以下错误消息:
错误:服务器不了解请求或请求无效。
处理资源 时出错 “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 版本,请执行以下步骤:
-
在以下目录中找到Msxml6.dll文件:
C:\Windows\System32 -
右键单击Msxml6.dll文件,然后单击 “属性”。
-
单击 “版本” 选项卡可查看版本信息。
请注意,在 Windows Vista、Windows 7 或 Windows Server 2008 中,请单击 “详细信息” 选项卡。
如何获取此更新
此更新将通过Windows 更新自动安装。 但是,也可以通过下载相应的包手动安装此更新。 有几个包包含此修补程序。 这些包已针对以下不同的安装方案发布:
KB 文章 |
安装方案 |
更新包 |
MSXML 版本 |
支持的操作系统 |
973686 Microsoft MSXML Core Services 6.0 Service Pack 2 的更新说明 |
MSXML 6.0 由应用程序安装,或由你自己手动安装。 若要应用此修补程序,必须安装 MSXML 6.0 SP2。 |
MSXML 6.0 SP2 |
Windows Server 2003 Service Pack 2;Windows XP Service Pack 2 |
|
973685 Microsoft XML Core Services 4.0 Service Pack 3 的更新说明 |
MSXML 4.0 由应用程序安装,或由你自己手动安装。 若要应用此修补程序,必须安装 MSXML 4.0 SP3。 |
MSXML 4.0 SP3 |
Windows 7;Windows Server 2003 Service Pack 2;Windows Server 2008;Windows Server 2008 R2;Windows Server 2008 Service Pack 2;Windows Vista;Windows Vista Service Pack 1;Windows Vista Service Pack 2;Windows XP Service Pack 2;Windows XP Service Pack 3 |
|
973688 Microsoft XML Core Services 4.0 Service Pack 2 的更新说明 |
MSXML 4.0 由应用程序安装,或由你自己手动安装。 若要应用此修补程序,必须安装 MSXML 4.0 SP2。 |
MSXML 4.0 SP2 |
Windows 7;Windows Server 2003 Service Pack 2;Windows Server 2008;Windows Server 2008 R2;Windows Server 2008 Service Pack 2;Windows Vista;Windows Vista Service Pack 1;Windows Vista Service Pack 2;Windows XP Service Pack 2;Windows XP Service Pack |
有关如何下载 Microsoft 支持文件的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:
119591 如何从 microsoft 联机服务获取 Microsoft 支持文件扫描此文件以查找病毒。 Microsoft 使用了在文件发布日期可用的最新病毒检测软件。 该文件存储在安全增强型服务器上,有助于防止对文件进行任何未经授权的更改。
文件信息
此更新的英文版本包含下表中列出的文件属性 (或更高版本的文件属性) 。 这些文件的日期和时间按协调世界时 (UTC) 列出。 查看文件信息时,会将其转换为本地时间。 若要查找 UTC 与本地时间之间的差异,请在控制面板中的“日期和时间”项中使用时区选项卡。
适用于所有受支持的基于 x86 的 Windows XP 和 Windows Server 2003 版本
文件名 |
文件版本 |
文件大小 |
日期 |
时间 |
---|---|---|---|---|
Msxml6.dll |
6.20.2003.0 |
1,415,000 |
2009 年 8 月 19 日 |
09:07 |
对于所有受支持的基于 x64 的 Windows XP 和 Windows Server 2003 版本
文件名 |
文件版本 |
文件大小 |
日期 |
时间 |
---|---|---|---|---|
Msxml6.dll |
6.20.2003.0 |
2,018,648 |
2009 年 8 月 20 日 |
03:21 |
适用于所有受支持的基于 Itanium 的 Windows XP 和 Windows Server 2003 版本
文件名 |
文件版本 |
文件大小 |
日期 |
时间 |
---|---|---|---|---|
Msxml6.dll |
6.20.2003.0 |
4,251,464 |
2009 年 8 月 20 日 |
02:23 |
详细信息
有关文档类型定义的详细信息,请访问以下网站:
http://www.w3.org/TR/xhtml1/dtds.html有关 XHTML 的详细信息,请访问以下网站:
http://www.w3.org/TR/xhtml1/有关 MSXML 的详细信息,请访问以下 Microsoft 开发人员网络网站:
http://msdn.microsoft.com/en-us/library/ms763742 (VS.85) .aspx 有关 Microsoft XML 分析程序 (MSXML) 版本列表的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:
269238 MSXML) 版本 (Microsoft XML 分析程序列表
参考
有关详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:
954459 MS08-069:XML Core Services 6.0 的安全更新说明:2008 年 11 月 11 日 有关软件更新术语的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章: