今天又发现了新问题,关于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