以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 DOM/SAX/XPath 』 (http://bbs.xml.org.cn/list.asp?boardid=11) ---- 用vc调用IXMLDOMDocument指针对象对xml文档写一个PI后XML中出现乱码的问题 (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=16506) |
-- 作者:linshaodan -- 发布时间:4/3/2005 12:06:00 AM -- 用vc调用IXMLDOMDocument指针对象对xml文档写一个PI后XML中出现乱码的问题 片断代码如下: IXMLDOMDocument *pdoc = NULL; IXMLDOMProcessingInstruction *ppi = NULL; BSTR target = (BSTR)("xml"); BSTR data = (BSTR)("version='1.0' encoding='utf-8'"); hr = pdoc->createProcessingInstruction(target ,data ,&ppi); SUCCEEDED(hr) ? 0 : throw hr; pdoc->appendChild(ppi,NULL); ppi->Release(); |
-- 作者:linshaodan -- 发布时间:4/3/2005 9:37:00 PM -- BSTR target = (BSTR)("xml"); BSTR data = (BSTR)("version='1.0' encoding='utf-8'"); 把上面两句改成下面写法就行了,由于是操作COM对象,所以要把字符串定义为OLECHAR* 然后通过重新分配字符串函数SysAllocString转换为OLE字符串(32位宽字符串)其实OLECHAR* 就是 BSTR; OLECHAR *ptgstr = {L"xml"}; BSTR target = SysAllocString(ptgstr); OLECHAR *pdatastr = {L"version='1.0' encoding='utf-8'"}; BSTR data = SysAllocString(pdatastr); pdoc->createProcessingInstruction(target ,data ,&ppi); |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |