问题标签 [xmllite]

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 回答
2983 浏览

c++ - CComPtr 通过引用传递

我有一种情况,我需要CComPtr<IXmlReader>通过引用将 a 传递给函数。被调用参数是否从被调用参数中获取所有权(或)引用计数增加?

谢谢。

0 投票
2 回答
3947 浏览

c++ - 将数组写入 IStream

我收到一些数据作为 char 数组。我想将此数据传递给接收流的方法(IUnknown *pInput)。

我试图调试这段代码(使用Visual C++):



我得到错误:

SSL.exe 中 0x75e49875 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000000。

我知道以下从文件创建 strem 的代码将起作用,但我不想仅仅因为我无法从原始数组转换而创建文件。

0 投票
0 回答
264 浏览

c++ - xmllite & 内存映射文件

我是 cpp 的新手,所以也许你们可以拯救我的一天......

我需要创建一个简单的 xml 并将其保存到现有的内存映射文件中。这就是我到目前为止所拥有的(删除了所有错误检查等):

现在我不知道下一步该做什么。有人可以帮我将流数据放入映射的内存文件吗?

0 投票
0 回答
265 浏览

escaping - 使用 XmlLite,无法将转义序列输入输出

我有需要写入 xml 文件的数据,使用 mfc/c++ 中的 xmllite 我将其写入 C# DataSet 的形式,因此 C# 使用者可以使用 DatSet.ReadXml()

出于正当理由,它包含某些控制字符,如 TAB 和 BACKSPACE 我用“”替换退格,因为我称之为 WriteElementString case '\b': StrCatW(m_unicodeBuff, L" "); 休息;

如果我使用 BS 字符填充 DataSet 字段并使用 DataSet.WriteXml(),我会在输出 DEFAULT@/Default/ /Default=1/ 中看到转义序列

如果我把它读回来,DataSet 会把它变成 BS 字符

但是 - 当我使用 xmlLite 编写转义序列时,输出包含 '&' DEFAULT@/Default/&/Default=1/

如何让 xmlLite 输出 '' 转义序列?顺便说一句 - 它与其他转义符一样,如 TAB、NEWLINE、LINEFEED

0 投票
1 回答
3482 浏览

c++ - 如何使用 casablanca (PPL) http_client 返回的 XmlLite 处理 XML?

我想向 Web 服务发出请求,获取 XML 内容,然后解析它以获取服务返回的特定值。

代码将使用本机 C++11 (MS Visual Studio 2013) 编写。选择了Cassablanca PPL 库。对于 XML 解析,选择了 XmlLite。

我习惯了 C++ 编程;然而,PPL 库中的异步任务编程——方法——对我来说是新的。我知道什么是异步编程,也知道并行编程的原理。但是,我不习惯使用延续 ( .then(...)),我只是慢慢地围绕这个概念展开思考。

到目前为止,我已经修改了示例以获取 XML 结果并将其写入文本文件:

现在,我需要了解如何修改代码以获取可以使用 XmlLite 的结果(Microsoft 实现,如xmllite.hxmllite.libxmllite.dll在 PPL 相关的流和其他类中仍然有点迷失。我不知道如何正确使用它们。非常欢迎任何解释。

cassablanca 的人说他们使用 XmlLite 和 Cassablanca 来处理结果,但我没有找到任何示例。你能指点我一些吗?谢谢。

更新(2014 年 6 月 4 日):上面的代码实际上被包装成这样的函数(wxString来自 wxWidgets,但可以很容易地用std::stringor替换它std::wstring):

实际上,目标不是将流写入test.xml文件以提供 XmlLite 解析器。XML 相当小,它包含一个或多个(如果地址不明确)带有我要提取的 x 和 y 属性的项目元素——就像这样:

我不需要那个test.xml文件。如何获取流以及如何将其重定向到 XmlLite 解析器?

0 投票
1 回答
406 浏览

xml-parsing - Microsoft XmlLite 无法检测到元素结尾

我正在使用 Microsoft 的 XmlLite DLL 来解析一个简单的 XML 文件,使用示例 XmlLiteReader 中的代码。代码(C++)的基本部分是

所以,这是我的问题。使用 XML 输入,例如

一切都按预期工作,除了/>每行channel末尾的表示元素结尾的channel,不被识别为元素的结尾。接下来的连续节点类型channel是空格(\n),然后是元素(第二个channel)。

如何从 XmlLite 确定元素“通道”已结束?还是我误解了 XML 语法?

0 投票
1 回答
475 浏览

c++ - 使用 XmlLite IXmlWriter (C++) 在 prolog 中创建没有编码属性的 XML

我正在使用 XmlLite 库来创建 XML 文件。我希望生成的 XML 文件的序言不包含编码属性(只是版本):

这是我的代码:

我已经尝试删除对的调用,CreateXmlWriterOutputWithEncodingName()但即使这样,也会创建一个带有 UTF-8 的默认编码属性。我还尝试将NULL第三个参数作为该函数的第三个参数。

援助将不胜感激!

0 投票
0 回答
282 浏览

c++ - 无法使用 XMLLITE c++ 更新 XML 属性

我正在尝试使用 XMLLITE 读取器和写入器更新 XML 文档节点属性,但我做不到。当我尝试添加新属性时,作者正在添加。

我的问题是是否可以使用 XMLLITE 更新现有的 XML 节点属性值?

我想更新上面的 XML Node Attribute of Name

XMLLIte c++ 代码

正如您所提到的,我尝试这样做,我尝试设置属性的值,但它没有设置现有属性的值,但是如果我尝试添加新属性,那么它会添加属性。

当我尝试循环遍历节点列表时,节点类型永远不会出现 XmlNodeType_Attribute: I 'M NOT SURE WHY?

请给我你的建议,

谢谢卡提克

0 投票
1 回答
368 浏览

c++ - XMLLite 忽略编码

我必须用 C++ 读取 XML 文件,我们使用XMLLite的问题是我的 XML 的第一行指定了编码

当我尝试使用 XMLLite 解析文件时,出现错误MX_E_ENCODINGSIGNATURE。如果我删除编码部分,XML 解析得很好。

那么是否有可能以编程方式告诉 XMLLite 忽略编码。我还有什么其他选择?

一种解决方案是编写我自己的输入流类并抑制此标头,并注入简短版本,但最好有一个干净的解决方案。