工程设置:VC6.0 + MFC.exe + _MBCS 需求:分析服务器返回的UTF-8 xml字符串,然后将直接保存为或着加入现有的UTF-8 xml文件中。描述:(文件fileName为UTF-8格式的xml文件)
CMarkup xml;
xml.Load("D:\\fileName.xml");//1
xml.AddSubDoc("UTF-8字符串");//2
xml.SetAttrib("id",CString("字符串"));//3
xml.GetAttrib("id");//4
xml.Save("fileName");//5.问题(xml文件可能不含编码描述):
1.xml对象保存在内存中的内容是UTF-8 还是已经转换为ANSI了??
2.所加入的字符串有没有转换为其它编码?
3.CString("字符串")是否为ANSI编码,其存于xml中的编码是否转换为UTF-8?
4.返回的CString是ANSI编码还是UTF-8编码?
5.其保存的编码格式是UTF-8还是ANSI?不知道描述清楚了没有
在此先谢谢各位啦!
CMarkup xml;
xml.Load("D:\\fileName.xml");//1
xml.AddSubDoc("UTF-8字符串");//2
xml.SetAttrib("id",CString("字符串"));//3
xml.GetAttrib("id");//4
xml.Save("fileName");//5.问题(xml文件可能不含编码描述):
1.xml对象保存在内存中的内容是UTF-8 还是已经转换为ANSI了??
2.所加入的字符串有没有转换为其它编码?
3.CString("字符串")是否为ANSI编码,其存于xml中的编码是否转换为UTF-8?
4.返回的CString是ANSI编码还是UTF-8编码?
5.其保存的编码格式是UTF-8还是ANSI?不知道描述清楚了没有
在此先谢谢各位啦!
掌握了这个原理就知道如何处理了,不管用哪个XML解析库,涉及到DOM操作的类方法都直接使用UNICODE字符串(因为要运算),保存时通常可以配置期望的编码格式,解析库会自动转换。
用UNICODE宏,就是Unicode编码