C++ MSXML4和设置编码字符串

C++ MSXML4和设置编码字符串,c++,msxml4,C++,Msxml4,我使用MSXML4生成XML 我正在尝试将编码值设置为UTF-8 这是我的密码: const _bstr_t k_XML_Tag_Name ("xml"); const _bstr_t k_Processing_Tag_Name ("version=\"1.0\" encoding=\"utf-8\""); MSXML2::IXMLDOMProcessingInstructionPtr pProccessingInstruction = m_pXmlDoc->createProcessi

我使用MSXML4生成XML

我正在尝试将编码值设置为UTF-8

这是我的密码:

const _bstr_t k_XML_Tag_Name ("xml");
const _bstr_t k_Processing_Tag_Name ("version=\"1.0\" encoding=\"utf-8\"");

MSXML2::IXMLDOMProcessingInstructionPtr pProccessingInstruction = m_pXmlDoc->createProcessingInstruction(k_XML_Tag_Name, k_Processing_Tag_Name);

HRESULT result = m_pXmlDoc->appendChild(pProccessingInstruction);
result
始终为
S_FALSE
,预处理字符串为:


那么,为什么不显示编码字符串呢

将xml保存到文件时,应该会看到
声明。然而,根据这一点,当您使用文档的
XML
属性时,返回的声明不包含编码,这似乎是出于设计。这是你遇到的行为吗?该条规定:

这是正常的。它这样做的原因是什么 这样你就可以转身 使用此字符串调用LoadXML并 会有用的。如果不这样做,, LoadXML将失败并出现错误 信息:“从当前编码切换 “不支持指定的编码。”

这有什么帮助吗?