如何将STX/ETX(C0控制代码)写入BSTR缓冲区IXMLDOMElement*
How to write the STX / ETX ( C0 control code) into the BSTR buffer IXMLDOMElement*
我有一个应用程序,它正在传递一个(BSTR*ProfileXml)作为out参数。因此,一是我在使用SysAllocString(Profile)分配配置文件后发送配置文件
WCHAR Profile[] =
L"<IhvSecurity xmlns="http://www.sampleihv.com/nwifi/profile">"
L"<IHVSecurityParam2>parameter value</IHVSecurityParam2>"
L"</IhvSecurity>";
它可以很好地处理几乎所有ascii字符的参数值(不包括C0代码,如STX ascii代码2 ETX ascii代码3)。一旦我向STX或ETX发送应用程序发送错误并请求有效的xml缓冲区,我就会使用IXMLDOMElement方法加载配置文件缓冲区、修改缓冲区并再次保存缓冲区。我还没有提到配置文件中的编码字符串缓冲区默认为utf-8。
所以我在这里做错了一些事情,或者我们不能在xml中使用STX/ETX???MSMXL解析器无法解析它们。或者他们以某种方式/API在那里将其写入到参数缓冲区是节点。
任何帮助都将非常感谢
感谢
您是对的,您不能在XML1.0中使用控制字符。有关有效范围,请参阅规范。XML1.1增加了对这些控制字符的支持,但我认为MSXML不支持XML1.1。
作为一种变通方法,您可以实现某种转义方案,然后在另一端对其进行解码。
相关文章:
- 根据 GetLastError 直接写入磁盘会导致错误代码 5
- 如何使用从C++代码写入时复制 BTRFS?
- 编译的代码不执行文件写入
- 为什么我的代码不写入输出文件?
- 将fwrite转换为C++类型代码以写入二进制文件
- 将代码从 EEPROM 写入字符数组
- 代码无尽写入文本文件的第一行
- 在 C 代码中调用 Python 函数时第三次出现访问冲突写入位置错误
- 驱动程序,以支持从 C++ 代码读取或写入 HIVE
- 在"C++代码"部分中,可能会写入两个字节
- 通过包含<iostream>头文件,它的所有 8 个函数是写入我的代码,还是只写入我在程序中使用的函数?
- C++ 使用简单的代码同时写入文件和控制台输出
- 如何将此代码的输出直接写入.csv文件
- 使用Emscripten将输出从C WebAssembly代码写入JSON
- 如何将x64机器代码写入虚拟内存并在C++中为Windows执行
- 如何重用代码来读取/写入多个类的文件
- WideCharToMultiByte - Shift-JIS 代码页所需的大小和写入的字节数不同
- 理解此代码(将十六进制直接写入文件-midi)
- 在安卓5.0.1_r1中从音频系统(C++代码)在SD卡上写入文件
- stl映射同时写入示例代码