问题标签 [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.
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 哪里出错了吗?
谢谢。
delphi - IXSLTemplate (MSXML 6) - 如何解析 xsl:import
我通过 COM 使用 mxsml 6 来执行转换。源样式表有一个我知道如何包含的 xs:import 语句,但我如何告诉 MSXML 这样做呢?我似乎找不到一个地方告诉 IXSLTemplate 加载已解析的源
细节:
- 我收到错误“系统无法找到指定的对象”
- 我在源文档上设置 ResolveExternals = true
- 我正在尝试执行 schematron 验证
- 我正在使用 Delphi,所以使用 msxml 似乎是我唯一的选择
- 我在服务器环境中将所有内容都保存在内存中,因此我非常希望避免使用文件
代码:
转换的原始来源:
- http://gforge.hl7.org/gf/project/fhir/scmsvn/?action=browse&path=%2Ftrunk%2Fbuild%2Ftools%2Fschematron%2Fiso_svrl_for_xslt1.xsl&view=markup
- http://gforge.hl7.org/gf/project/fhir/scmsvn/?action=browse&path=%2Ftrunk%2Fbuild%2Ftools%2Fschematron%2Fiso_schematron_skeleton_for_xslt1.xsl&revision=1319&view=markup
c++ - MSXML 如何工作?(进程内 COM 对象如何工作)
我不是组件对象模型 (COM) 方面的专家,但据我了解,它的工作原理如下:程序 A(“服务器”程序)通过 TLB 文件公开 COM 接口。客户端程序使用这个接口并调用它的函数(所有底层的东西都是免费为你完成的)。所以在这种情况下,当“服务器”程序正在运行并且“客户端”程序使用 COM 对象与“服务器”通信时。每个程序(进程)都有自己的地址空间。现在有了 MSXML,情况就有些不同了。据我了解,msxmlX.dll 是一个 COM dll,但可以说当我在运行时隐式链接它(使用 msxmlX.h 和 msxmlX.lib)时,它被加载到与我的可执行文件相同的内存空间。所以,
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 时出错)
我究竟做错了什么?
c++ - MSXML6 中的第一次机会异常
我正在针对 XSD 模式验证 XML 文件,就像它们在 MSXML 文档示例中所做的那样。我有以下代码:
XMLSchemaValidation::DoInitialization(CString XSDFileName)
将 XSD 架构文件名获取到 CStringXMLSchemaValidation::SchemaFileName
中。
然后代码遵循 MSXML 示例中的代码,但我得到了
当代码到达CHK_HR(pXS->add(L"", (LPCSTR)(SchemaFileName.GetString())));
. hr
有-2146697210。
谁能告诉我为什么会这样?
c++ - MSXML 内存泄漏
我必须处理一个使用 MSXML 将测量数据写入简单 XML 文件的遗留应用程序。基本上,这就是正在发生的事情:
在每个项目之后,pXmlTmpNode.Release()
都会调用。pXmlDocument
最后,所有其他节点以及Released
.
createXMLDocument
定义如下:
对于附加新元素(即unsiged char
数组),应用此函数:
无论是使用#import <msxml4.dll>
还是#import <msxml6.dll>
使用,似乎都存在内存泄漏。由于measdata
etc. 可能很大,这是一个相当大的问题。我可以做些什么来使代码正常工作吗?谢谢,马修
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'/>
是我希望它如何导出
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 兼容版本
这是最终的功能代码,几乎是我使用的语言:
xml - MSXML2.DOMDocument60 使 Excel 崩溃
我编写了一个 VBA 宏来加载和解析 XML 文件。这个确切的代码已经运行了一段时间,但现在它不再起作用了。我已经在运行 Excel 2013 64 位的两台不同的计算机上对其进行了测试。它失败的代码如下:
如果我注释掉 Set 命令,代码将继续。它不会引发错误,它会使 Excel 完全崩溃。上面的代码是宏开始的地方,在它之前没有运行任何代码。我已经设置了对 MSXML v6.0 的引用
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 设置为
结果总是:
那么,根本没有输入流吗?为什么?