首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

今天又发现了新有关问题,关于TXMLDocument

2012-03-13 
今天又发现了新问题,关于TXMLDocumentCoInitialize(NULL)_di_IXMLDocument XmlDoc NewXMLDocument()Xm

今天又发现了新问题,关于TXMLDocument
CoInitialize(NULL);
  _di_IXMLDocument XmlDoc = NewXMLDocument();
  XmlDoc->Active = false;
  XmlDoc->LoadFromXML(String(""));
  XmlDoc->Encoding = "GB2312";
  XmlDoc->Active = true;
  XmlDoc->AddChild(L"一二三四五");
  String XmlText = XmlDoc->XML->Text;
  ShowMessage(XmlText);
  XmlDoc->Active = false;


  显示为:
  <?xml version=\"1.0\" ?>
  <一二三四五 />

  怎么不是:
  <?xml version=\"1.0\" encoding="gb2312" ?>
  <一二三四五 />

  含中文时,Load时会出错

  简体中文 XP + BCB2010, 各位一起试试?


[解决办法]
试了 ,在保存中的XML文件中没有问题
[解决办法]
没问题啊 应该是编码的问题,转换成ascii吗应该就行
[解决办法]
在2010中Encoding是GB2312的时候,节点名
XmlDoc->AddChild(L"一二三四五");
增加节点可以,读取的节点不要加L,这样的("一二三四五");

昨天遇到相同的情况。

注:_di_IXMLDocument我在bcb2010+xp下的默认Encoding是utf-8

热点排行