使用Visual C ++ / MSXML如何将XML从ISO-8859-1转换为UTF-8?

时间:2014-07-21 23:32:34

标签: xml visual-c++ encoding utf-8 msxml4

我有一个C ++ XML文档,即文档A,它从数据库中检索并作为DOM Document放在MSXML 4中。该文档采用ISO-8859-1编码,并且具有非ASCII字符,例如é(ISO-8859-1中的0xE9)。一些文档A节点被复制到我们想要的UTF-8编码的新创建的MSXML文档B文档中,因为这是收件人期望的。创建文档B并设置编码为UTF-8的处理指令,然后从文档A复制节点不会导致é为UTF-8格式(0XC3 0XA9)。有没有其他方法使用MSXML让它转换而不使用样式表?一些文档将以兆字节为单位,并可能增加额外的处理时间。 有没有办法通过将XML作为扁平字符串来操作?我们使用基于wchar_t的字符串(我们不使用MFC),我一直在研究一些Windows API,但这似乎需要常规的char,我不确定是否会丢失任何东西,这就是我将要测试的内容。

谢谢,Niraj

0 个答案:

没有答案