问题标签 [msxml6]

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 投票
2 回答
2190 浏览

javascript - MSXML4 与 MSXML6 XSLT 解析命名空间错误

我在网上看到很多关于 MSXML4 到 6 或 XSLT 1.0 与 2.0 等的帖子。但他们无法回答我的问题。

我有一个 XSLT 转换代码,可通过 Javascript 在 IE7 上与 MSXML4 API(XSLTransform 和 FreeThreadedDomDocument)一起使用。

相同的代码不适用于通过 Javascript 在 IE9 上的 MSXML6 API(XSLTransform 和 DomDocument)。它抛出这个错误

“命名空间 'urn:mynamespace:mytable:transactions' 不包含任何功能”

我确保我的 ActiveX 在 IE9 上都启用了 MSXML4 和 6。下面是主变压器 XSLT 的代码,参考 XSLT 和 JS 代码......

核心 XSLT:functions.xsl

主要 XSLT:MyTransformer.xsl ... 指 functions.xsl

JS代码

有人可以指导我 MSXML6 或 IE9 哪里出错了吗?

谢谢。

0 投票
1 回答
824 浏览

delphi - IXSLTemplate (MSXML 6) - 如何解析 xsl:import

我通过 COM 使用 mxsml 6 来执行转换。源样式表有一个我知道如何包含的 xs:import 语句,但我如何告诉 MSXML 这样做呢?我似乎找不到一个地方告诉 IXSLTemplate 加载已解析的源

细节:

  • 我收到错误“系统无法找到指定的对象”
  • 我在源文档上设置 ResolveExternals = true
  • 我正在尝试执行 schematron 验证
  • 我正在使用 Delphi,所以使用 msxml 似乎是我唯一的选择
  • 我在服务器环境中将所有内容都保存在内存中,因此我非常希望避免使用文件

代码:

转换的原始来源:

0 投票
1 回答
218 浏览

c++ - MSXML 如何工作?(进程内 COM 对象如何工作)

我不是组件对象模型 (COM) 方面的专家,但据我了解,它的工作原理如下:程序 A(“服务器”程序)通过 TLB 文件公开 COM 接口。客户端程序使用这个接口并调用它的函数(所有底层的东西都是免费为你完成的)。所以在这种情况下,当“服务器”程序正在运行并且“客户端”程序使用 COM 对象与“服务器”通信时。每个程序(进程)都有自己的地址空间。现在有了 MSXML,情况就有些不同了。据我了解,msxmlX.dll 是一个 COM dll,但可以说当我在运行时隐式链接它(使用 msxmlX.h 和 msxmlX.lib)时,它被加载到与我的可执行文件相同的内存空间。所以,

0 投票
1 回答
1462 浏览

c++ - 可能的报头冲突

我想在 Visual C++ 中针对 XSD 模式验证 XML 文件。我浏览了互联网,发现的 MSXML 示例似乎是最简单的。

我正在尝试将其整合我正在从事的项目中。我创建了XMLSchemaValidation类来对某些 XSD 模式执行验证,并使用相应的 XSD 文件名初始化对象。我在头文件中有以下指令:

但我开始发现以下错误:

我也得到:

我最初#import <msxml.dll>在示例代码中拥有,但 MSXML 安装并没有将文件放在他们所说的 W7 上。

我已经#define WIN32_LEAN_AND_MEAN在 stdafx.h 文件中删除(在 Visual c++ 上使用 msxml6.h 时出错

我究竟做错了什么?

0 投票
1 回答
1270 浏览

c++ - MSXML6 中的第一次机会异常

我正在针对 XSD 模式验证 XML 文件,就像它们在 MSXML 文档示例中所做的那样。我有以下代码:

XMLSchemaValidation::DoInitialization(CString XSDFileName)将 XSD 架构文件名获取到 CStringXMLSchemaValidation::SchemaFileName中。

然后代码遵循 MSXML 示例中的代码,但我得到了

当代码到达CHK_HR(pXS->add(L"", (LPCSTR)(SchemaFileName.GetString())));. hr有-2146697210。

谁能告诉我为什么会这样?

0 投票
1 回答
2218 浏览

c++ - MSXML 内存泄漏

我必须处理一个使用 MSXML 将测量数据写入简单 XML 文件的遗留应用程序。基本上,这就是正在发生的事情:

在每个项目之后,pXmlTmpNode.Release()都会调用。pXmlDocument最后,所有其他节点以及Released.

createXMLDocument定义如下:

对于附加新元素(即unsiged char数组),应用此函数:

无论是使用#import <msxml4.dll>还是#import <msxml6.dll>使用,似乎都存在内存泄漏。由于measdataetc. 可能很大,这是一个相当大的问题。我可以做些什么来使代码正常工作吗?谢谢,马修

0 投票
1 回答
1015 浏览

ms-access - 使用 MSXML 在 Access VBA 中自动关闭 XML 标记

我一直在玩弄在 Access VBA 中使用 Microsoft XML, v6.0。我的问题是,在编写 VBA 以创建 XML 输出以使输出具有自结束标记时,是否存在?

就像在下面的代码中一样,当创建该字段时,它会将文本放在两个标签之间,
我希望它在自闭标签中包含文本

<field> name='Unit' value='TEST'</field>它是如何出口的

<field name='Unit' value='TEST'/>是我希望它如何导出

0 投票
1 回答
9151 浏览

xml - XPath 查询按日期过滤

我有一些示例 XML,我在其中根据date查询节点。

示例 XML 文档

所以基本上有三个日期:

  • 2012 年 2 月 1 日
  • 2013 年 2 月 1 日
  • 2014 年 2 月 1 日

使用 MSXML,我可以使用 XPath 查询按这些日期进行查询和过滤:

这有效,并返回一个IXMLDOMNodeList包含一个项目:

除非它不再起作用

使用 MSXML 的 XPath 查询;Microsoft 在 1990 年代后期创建的 xml 变体,在 W3C 标准化完全不同形式的 XPath 之前。

但是那个版本的 MSXML 不是“符合标准的”(因为它是在标准出现之前创建的)。自 2005 年以来,推荐的,遵循标准的,唯一具有我需要的功能的是 MSXML 6。

这是一个简单的更改,只需实例化一个DOMDocument60类而不是一个DOMDocument类:

除了相同的 XPath 查询不返回任何内容。

按日期过滤值的“符合标准”的方法是什么?

假装它是一个字符串,你说

您可能会认为我可能会认为 XML 将2013-02-01T00:00:00-05:00视为某种特殊日期,而实际上它是一个字符串。所以也许我应该把它想象成字符串比较。

哪个会起作用,除了它不起作用。没有字符串比较有效:

  • /NewDataSet/Table[ValidFromDate<"a"]不返回节点
  • /NewDataSet/Table[ValidFromDate>"a"]不返回节点
  • /NewDataSet/Table[ValidFromDate!="a"]返回所有节点
  • /NewDataSet/Table[ValidFromDate>"2014-02-12T00:00:00-05:00"]不返回节点
  • /NewDataSet/Table[ValidFromDate<"2014-02-12T00:00:00-05:00"]不返回节点
  • /NewDataSet/Table[ValidFromDate!="2014-02-12T00:00:00-05:00"]不返回节点

因此,我们有它

什么是“符合标准”的方式来实现过去的工作?

XPath 查询日期字符串的“正确”方法是什么?

或者,更好的是,为什么我的 XPath 查询不起作用?

或者,更好是,为什么以前有效的查询不再有效?做出的决定是什么决定了语法不好。他们通过“破坏”查询语法解决了哪些边缘情况?

MSXML6 兼容版本

这是最终的功能代码,几乎是我使用的语言:

0 投票
1 回答
4073 浏览

xml - MSXML2.DOMDocument60 使 Excel 崩溃

我编写了一个 VBA 宏来加载和解析 XML 文件。这个确切的代码已经运行了一段时间,但现在它不再起作用了。我已经在运行 Excel 2013 64 位的两台不同的计算机上对其进行了测试。它失败的代码如下:

如果我注释掉 Set 命令,代码将继续。它不会引发错误,它会使 Excel 完全崩溃。上面的代码是宏开始的地方,在它之前没有运行任何代码。我已经设置了对 MSXML v6.0 的引用

在此处输入图像描述

0 投票
1 回答
4755 浏览

asp.net - 如何将 XML 从一个 ASP.NET 页面发送到另一个页面?

我整天都在为 ASP.NET 苦苦挣扎。我制作了一个 .aspx 页面,该页面将 XML 发送到其他 .aspx 页面,该页面读取先前的 XML 并向第一页发送响应。

第一页似乎工作,但第二个失败。我怀疑这是环境中的东西,而不是 ASP 代码,但我不明白这一点。

让我们公开环境: - IIS 6.0 - ASP.NET 版本 2.0.50727 - Windows Server 2003 R2 SP2 Std。版

(这已经在 IIS 7.5、ASP.NET 2 和 4、Windows Server 2008R2 中进行了测试,结果相同)

现在,让我们公开网页代码。

简单海报.aspx

接收器.aspx

现在,让我们http://myserver/SimplePoster.aspx用 IE 打开。输出是:

请注意,响应是空的......现在让我们打开http://localhost/Receiver.aspx

现在,百万美元的问题……是什么引起了这个问题? *如何在 ASP 页面中接收 XML(或文本)?*


我仍在为此苦苦挣扎。

我尝试了 XMLDocument.load/XMLDocument.loadXML (Request/Request.InputStream) 的组合。没运气。

为了测试这一点,如果我将 Receiver.aspx 设置为

结果总是:

那么,根本没有输入流吗?为什么?