问题标签 [msxml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
15626 浏览

vbscript - MSXML2.ServerXMLHTTP.4.0 来源?

对象“MSXML2.ServerXMLHTTP.4.0”从何而来?哪个安装包?

我正在尝试执行以下操作:

此尝试在我的开发机器上失败(没有返回任何对象),但在我同事的开发机器上成功。显然,他安装了一些我没有安装的东西,反之亦然,但是这个对象、dll 等来自哪里?

我需要安装什么才能让这个电话正常工作?

作为记录,将对象更改为不同版本不是一种选择,因为这依赖的代码已针对此特定版本测试了几天。我们得回去再测试一次...

为了扩展这个问题,我如何知道当前安装了哪个版本的 MS XML?

0 投票
1 回答
19982 浏览

wcf - 通过 VBScript 调用 WCF 服务

有一个带有配置的 WCF 服务:

该脚本应该调用它:

运行脚本时出现此错误:

客户端:WSDLReader:分析 WSDL 文件失败 HRESULT=0x8 0004005 - WSDLReader:初始化服务失败 HRESULT=0x80004005 - WSDL 服务:初始化服务 MyService 的端口失败 HRESULT =0x80004005 - WSDLPort:分析端口 BasicHttpBinding_IMyService 的绑定信息失败 HRESULT =0x80004005 - WSDLPort: 端口 BasicHttpBinding_IMyService 的操作无法初始化 HRESULT=0x8000 4005 - WSDLOperation: 操作 //def:portType[@name="IMyService"]/def:operation[@name="MyMethod"] 没有在 porttype 部分中找到 HRESULT=0x80004005

出了什么问题?请帮忙。

编辑:

谢谢你,芝士,你的回答。MSSOAP 的问题似乎在于它要求所有 xsd 模式都内嵌在生成的 WSDL 文件中。WCF 默认情况下不这样做。

0 投票
5 回答
24494 浏览

windows - 我应该使用哪个版本的 MSXML?

似乎这将是一个常见问题,尽管我在 SO 上找不到它。

我应该在我的应用程序中使用哪个版本的 MSXML,更重要的是,我应该如何决定?

有 MSXML3、4、5 和 6。

我最近在call-wcf-service-by-vbscript中发布了一些使用 MSXML v4 的代码。AnthonyWJones 发布说我不应该使用 4,而是使用 3 或 6,但可能是 3。当然不是 v5!

为什么?我想了解更多关于选择要在我的应用程序中使用的 MSXML 版本的标准。

额外问题:是否有人总结了不同版本的 MSXML 之间的差异?


到目前为止的总结:

  • MSXML6
    应该是首选。于 2006 年发布,包括性能和合规性修复。如果可以,请使用它。很好。没有合并模块;要将 MSXML6 运行时与您的应用程序捆绑在一起,MS 建议打包 MSXML6 msi 文件。MSXML6 是 MSXML3/4 的升级版,但不会取代它们,因为它停止了一些功能。您可以在此处获取 MSI 。
  • MSXML3
    第二选择。部署最广泛的版本。最初于 2000 年 3 月发货。积极维护,没有新功能。当前受支持,如果您使用的是SP5(2005 年发布)或更高版本。SP7是最新的(也从 2005 年开始)。
  • MSXML5
    仅作为 MS-Office 的一部分发布。目前受 Microsoft 支持,但仅作为 Office 的一部分,不适用于构建应用程序。不要构建依赖于 MSXML5:Verboten 的应用程序。
  • MSXML4
    最初发货?目前处于“维护模式”。Microsoft 鼓励人们从 MSXML4 迁移到 MSXML6。当前支持,如果您使用的是 2003 年发布的 MSXML4SP2 或更高版本。请在此处下载 MSXML4SP2 。 可以重新分配

在 Internet Explorer 中使用正确版本的 MSXML是Microsoft xmlteam 博客上的一个很好的条目。

0 投票
1 回答
5763 浏览

asp-classic - 使用 MSXML 4.0 读取 UTF-8 XML

我在尝试使用 MSXML 读取 UTF-8 编码的 XML 文件时遇到了 classc ASP / VBScript 的问题。该文件已正确编码,我可以使用所有其他工具看到这一点。

构造的 XML 示例:

如果我尝试在 ASP 中执行此操作...

...并且名称包含特殊字符(具体是德语变音符号)变音符号“双字节码”的字节被重新编码,所以我最终得到了两个完全蹩脚的废话字符。应该是“ü”变成“ü” - 在我的输出中是四个字节,而不是两个(正确的 UTF-8)或一个(ISO-8859-#)。

我究竟做错了什么?为什么 MSXML 认为输入是 ISO-8859-# 以便尝试将其转换为 UTF-8?

0 投票
4 回答
10044 浏览

c++ - < & > 转换为 > < 等

我正在使用 MSXMl 库来解析 xml

在我调用 put_text 然后 get_xml

输出将 < & > 转换为&lt;& &gt;

我怎样才能摆脱这个?

0 投票
2 回答
1910 浏览

c++ - 400.0 - 使用 MSXML2::IXMLHTTPRequestPtr 的错误请求

我正在尝试通过 http 访问 xml 文件。地址类似于:

将其粘贴到浏览器中时,xml 将按预期显示。在我使用的软件中:

并得到以下响应:

有谁知道可能会发生什么?

编辑:更多信息,当尝试连接到办公室中的另一台服务器(我可以使用浏览器正常连接)时,我收到“错误请求”的响应,仅此而已。

调用的函数是:

EDIT2:当 ForceNocache 设置为 false 使 If-Modified-Since 标头成为问题时,该功能正常工作......如果我无法弄清楚为什么不喜欢它,我将提出一个新问题(由 iis 7)但是,如果这里有人可以为我指出正确的方向,它将节省一些噪音。

感谢你的帮助。

0 投票
1 回答
4476 浏览

c++ - 使用 msxml 解析器验证 xml 架构

我想根据 XML Schema 文件验证 XML 文件。它是一个简单的 xml 文件,不包括命名空间等。我想在 c++ 中使用 MSXML 6.0 执行此操作。

0 投票
3 回答
3804 浏览

xml - MSXML 4.0 变成了什么?

我依赖于 MSXML 4.0。

Microsoft 有一个页面提供各种 MSXML 4.0对象的 CLSID 和 ProgID:

但是在我的Vista机器或同事的XP机器上都没有注册ProgIDCLSID

  • MSXML 4.0是否仅随某些版本的 Office(例如Office 2003)一起提供?
  • 它最初是随Windows XP一起提供的,但后来的服务包删除了它吗?
  • 是否存在安全漏洞,并且已被贬低
  • 它只是被贬低了吗?

我愿意迁移到MSXML 5.0,它在 Windows XP 和 Windows Vista 机器可用——但我想确保我拥有尽可能广泛的兼容性;我会认为 MSXML 4.0 会比 MSXML 5.0 更广泛地可用。

Microsoft 确实建议我使用 MSXML 6.0

建议您从早期版本的 MSXML 升级到 MSXML 6.0。MSXML 6.0 比早期的 MSXML 版本提供了安全性和性能改进。

0 投票
1 回答
900 浏览

xml - 进程外 MSXML IXMLDOMDocument::save 保存在哪里?

MSXML IXMLDOMDocument::save 保存在哪里?我的意思是当它使用文件名参数调用时。

“C:\pathto\mydoc.xml”会在哪里?

考虑 XMLDOMDocument 不在进程中,在这种情况下位于不同的物理机器上。它会将其保存到调用机器的“C:...”还是托管 COM 对象的服务器?

0 投票
1 回答
2079 浏览

c++ - MSXML DOM:将命名空间声明添加到树中的现有节点

问题描述:读取一个xml文件,遍历到特定的节点(元素),如果没有特定的命名空间声明,添加需要的命名空间声明,并写出文件。

我需要使用 Microsoft 的 MSXML DOM API 在 C++ 中执行此操作。根据此 msdn参考,IXMLDOMNode COM 对象上的 namespaceURI 属性是只读的。感谢任何解决方法。

编辑:我花了很多时间在一个解决方法上:在同一个文档中使用我需要的命名空间创建一个新的兄弟节点,然后将原始节点的所有子元素移动到这个新节点,然后删除原始节点。好吧,这不起作用,因为子节点将保留它们之前拥有的任何默认命名空间。

然后这个简单的想法击中了我并且它有效,但我不确定它是否会在未来咬我:只需在元素上创建一个“xmlns”属性,为其提供所需的命名空间值!任何意见?