1,如果遇到中文数据的时候,读取XML文件为乱码。
2,但是在调试情况下不为乱码。
感觉非常奇怪,求救大家。
XML文件如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<elXmlIniPlus>
<Section SectionName="RespHeader">
<elXmlProperty>
<Attribute key="RtnCode" value="SUC0000"/>
<Attribute key="RtnMsg"  value ="Test0001" />
</elXmlProperty>
</Section>
<Section SectionName="Rec_Max">
<elXmlProperty>
<Attribute key="REC_COUNT" value="2"/>
</elXmlProperty>
</Section>
<Section SectionName="RtnData">
<elXmlProperty>
<Attribute key="SAL_COD" value="002"/>
<Attribute key="SAL_NAM" value="测试销售机构"/>
<Attribute key="MNG_SCL" value="0.2"/>
<Attribute key="SAL_SCL" value="0.6"/>
<Attribute key="AST_SCL" value="0.2"/>
<Attribute key="FOUNDER" value="343"/>
<Attribute key="CRT_DAT" value="3434"/>
<Attribute key="MENDER" value="sdf"/>
<Attribute key="ALTER_DAT" value="sadfs"/>
<Attribute key="CUSR_ID" value="sadf"/>
<Attribute key="CHK_DAT" value="asdfd"/>
<Attribute key="STAT" value="0"/>
</elXmlProperty>
</Section>
</elXmlIniPlus>

解决方案 »

  1.   

    //试试这样读XMLDocument1.loadFromXMl('<?xml version="1.0" encoding="gb2312"?> ');
    XMLDocument1.Active := true ;
    Memo1.Lines.Add(XMLDocument1.DocumentElement.Text);
      

  2.   

    <?xml version="1.0" encoding="ISO-8859-1"?>
    ----------------------------------->
    <?xml version="1.0" encoding="gb2312"?>
      

  3.   

    Encoding的问题吧http://lysoft.7u7.net
      

  4.   

    在加载XML文件后设置encode属性为:GB2312,显示结果还是乱码。在XML文件是不能修改了,由于传输定义就是这样,还有什么好的方法啊?
      

  5.   

    代码如下:
      l_ReadXMLDoc := LoadXMLData(RtnMsg);  //RtnMsg为XML数据串
      l_ReadXMLDoc.Active := True;
      l_ReadXMLDoc.Encoding := 'GB2312';
    读出结果还是乱码。
      

  6.   

    在XML文件设置成:'GB2312'确实没有问题,关键是我不能设置成这样啊!!!!!