win32 编码转化函数

 <?xml version="1.0" encoding="GBK"?>
<chat id="1398034731" isAttach="0">
<sendtime>2011-10-29 14:11:53</sendtime>
<attach/>
<context><![CDATA[%3cP%3e%e4%bd%a0%e5%a5%bd%3c/P%3e]]></context>
</chat>

void CRRRDlg::OnBtnXml()
{
 // TODO: Add your control notification handler code here
 char Chat[500]="<?xml version=\"1.0\" encoding=\"GBK\"?><chat id=\"1814936736\" isAttach=\"0\"><sendtime>2011-10-17 19:01:23</sendtime><attach/><context><![CDATA[%3cP%3e%e4%bd%a0%e5%a5%bd%3c/P%3e]]></context></chat>";
 CString str;


 MSXML2::IXMLDOMDocumentPtr pDoc;  

 HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40));  
 if(!SUCCEEDED(hr))  
 {   
  MessageBox("无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库!");
  return;
 }
 pDoc-> put_async(VARIANT_FALSE);
 pDoc-> put_validateOnParse(VARIANT_FALSE);
 pDoc-> put_resolveExternals(VARIANT_FALSE);
 pDoc-> put_preserveWhiteSpace(VARIANT_TRUE);
 pDoc-> loadXML((_bstr_t)Chat);   //加载文件
  
//  if(pDoc ==  NULL)
//  {
//   return;
//   }

// MSXML2::IXMLDOMNodeListPtr pNodeList = NULL;
  MSXML2::IXMLDOMNodePtr pNode = NULL;
 MSXML2::DOMNodeType nodeType;
 //取父节点 在树中查找名为Book的节点,"//"表示在任意一层查找
  pNode=pDoc->selectSingleNode("//context");
// pNodeList = pNode-> GetchildNodes();  //得到子节点
  
 //得到节点类型
 pNode->get_nodeType(&nodeType);
 
 //节点名称
 CString strName;
 strName=(char *)pNode->GetnodeName();
//  if(pNodeList == NULL)
//  {
//    return;
//  }

 _bstr_t strVisiPort=pNode->Gettext();
 str=MultiByteToWideChar(NULL,0,strVisiPort,-1,NULL,0);

 GetDlgItem(IDC_EDIT)->SetWindowText(str);
 
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值