问题标签 [ixmldomdocument]

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 投票
1 回答
1571 浏览

c++ - 保存没有结束标记的 IXMLDOMDocument

通过 C++ 使用 MSXML,当我调用 时IXMLDOMDocument::save,空 XML 元素将获得一个结束标记,如下所示:

但我希望它保存为:

我需要做什么才能做到这一点?

0 投票
1 回答
900 浏览

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

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

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

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

0 投票
1 回答
788 浏览

merge - 合并两个 XMLDOMDocument

msxml 中是否有任何简单的方法可以合并两个 xml 文档(IXMLDomDocuments)?我想将其中一棵树嵌入为第二棵树的子节点。

我看到 IXMLDomDocument3 提供了 importNode,但无法使其正常工作。这是要走的路还是有其他解决方案?

谢谢,丹

0 投票
3 回答
1479 浏览

c++ - 如何在 C++ 中针对 XSD 验证 XML 节点?

请注意,我要求对特定节点而不是整个文件进行验证。举些例子

对于这个 XML 文档,我有一个 wholeDoc.XSD 可用于验证除“UserDefinedNode”之外的整个文档(此节点在 xsd 中使用“any”标记指定,允许用户在该节点下定义任何内容)。

是否可以有一个单独的 userdefined.XSD 文件来验证“UserDefinedNode”?是否可以使用 MSXML for C++ (IXMLDomDocument) 来验证这一点?

谢谢!

0 投票
3 回答
1980 浏览

xml - 像 XmlTextWriter 一样保存 XML,但使用 DOM

当我使用 XmlDocument 在 C# 中构建 XML 时,我想将 XML 保存到文件中,包括编码信息,我使用 XmlTextWriter,如下所示:

使用上面的代码,我得到的字符串具有以下语法:

我希望使用 IXMLDOMDocument 方法具有相同的行为。在这个场景中,我知道提取 XML 字符串的唯一方法是通过该xmlDoc.xml方法。但是,使用这种方法,字符串是完全不同的,编码也是如此:

有没有一种方法可以像使用 XmlTextWriter 一样输出 IXMLDOMDocument,并且具有相同的编码结果?
Tks

编辑

我用来通过 DOM 生成 XML 的代码在 Delphi 中:

我的主要问题是生成的字符串编码,因为我将生成的 WideString 传输到 C# WebService,当我在 XmlDocument 中读取它时,带有任何重音的字符都是错误的。当我在 C# 中生成 XML 时,通过 XmlTextWriter 将其导出,然后将其发送回 Delphi,并通过 DOM 加载它,字符是正确的。

编辑

当我使用 时vXML.Save(file_name.xml),保存的文件被正确编码,如果我将它加载到 WideString(Delphi 中的 Unicode 字符串)中,并将其传输到 Web 服务,效果很好。但是,如果不将其保存到磁盘并通过 DOM,我该怎么做呢?

0 投票
2 回答
2206 浏览

xml - Delphi,IXMLDOMDocument2,由于无效字符而导致加载失败

使用 Delphi 2009 和 IXMLDOMDocument2

将 XML 加载到 IXMLDOMDocument2 时收到“在文本内容中发现无效字符”错误。该字符是 1B(十六进制)并且存在于 CDATA 部分中。Microsoft 的 XML 查看器 (IE) 可以很好地加载文件。XML看起来像......

<data><child><![CDATA[-- ]]></child></data>

注意:我尝试粘贴 XML,但删除了特殊字符。在 CDATA 部分中,我的 XML 文件中的“--”后面有 1B 字符。

我已经尝试添加到 XML 和其他编码的开头,但没有任何东西对我有用。有什么办法可以加载这个文件吗?

谢谢,迈克尔

0 投票
1 回答
2439 浏览

xml - 在 Delphi 中使用 IXMLDOMDOCUMENT 删除 xsi:nil 属性

我有一个包含许多 xml 节点的 xml 文档。文档具有xsi:nil="true"属性。如果我在这些节点上设置值,该nil属性仍然存在,并且对我的 xsd 无效。

问题:

如何xsi:nil使用带有 MSXML2_TLB 的 Delphi 2006 代码删除属性?

我试过这个:

它运行没有错误,但不会删除该属性。

0 投票
1 回答
2290 浏览

xml - 如何让 IXmlDomDocument2.XML 正确转义引号?

我正在解决一个问题,即从我们的程序导出的 XML 不会转义引号,("变成&quot;,)会导致接收端出现问题。它可以很好地转义 &s 和尖括号,但不能转义引号。

当我深入研究 XML 导出代码时,我发现它是一个非常简单的IXmlDomDocument2DOM 接口。但是当我到达通过调用该.XML方法生成 XML 字符串输出的步骤时,我撞到了一堵我无法追踪的专有性墙,因为所有工作都发生在C:\Windows\System32\msxml3.dll.

所以显然微软的IXmlDomDocument2实现知道如何转义一些符号而不是其他符号。更糟糕的是,显而易见但丑陋的解决方案(在我调用之前通过递归遍历整个文档并用 '"' 替换值中的所有引号来运行预处理步骤.XML)将不起作用,因为该.XML方法会看到那些 &s在那里逃脱他们!有什么办法可以解决这个问题吗?

0 投票
1 回答
238 浏览

ixmldomdocument - 在从 RAM 加载的 IXMLDOMDocument 上设置路径

我正在使用经典的 ASP。我有一个已经加载到 RAM 中的样式表。我的问题是,我的 XSLT 有一个

在里面。

当我将它从 RAM 加载到 IXMLDOMDocument 对象中时,相对路径会被丢弃。这是我当前的代码

现在,由于 XSLT 文件是从 RAM 加载的,因此计算机不知道如何计算 xsl:include 标记的相对路径。所以它试图从这里提取文件:C:\windows\system32\inetsrv

我真的只需要一种方法来设置“默认路径”或以某种方式模拟它。我想到的几个选项(我真的不想这样做)是:

  • 将 XSLT 文件保存到我想要的磁盘上,然后使用 XSLTObj.load
  • 从我希望路径所在的位置加载“虚拟”XSLT 文件,然后将内容替换为 RAM 中的 XSLT 内容

我真的更喜欢某种方式来设置我希望它使用的路径。想法?

0 投票
1 回答
395 浏览

com - 使用 msxml6/IXMLDOMDocument2 删除 XML 声明

我只想使用 C++/COM- 从 XML 中删除 XML 声明

使用IXMLDOMDocument2界面msxml6

我怎样才能做到这一点?