XMLDocument不能以XML.Assign方式读取的问题!

li_zhifu 2008-09-16 10:47:48
如题,以FileName方式可以正常读取,但以XMLDocument1.XML.Add(XMLStr)的方式却报错,大意是“非法的字符”,在第一个中文出现处。因为XMLStr是来源于WebService的,而且甲方要求不得向硬盘写入临时文件,所以FileName方式是不能用的。XML文件大约内容如下:
<root>
<result type="Hashtable">
<code type="String">0</code>
<text type="String">ok</text>
</result>
<Total type="String">9</Total>
<PageLen type="String">10</PageLen>
<PageNum type="String">1</PageNum>
<ObjList type="Hashtable">
<Account0 type="Hashtable">
<Memo type="String">消费0</Memo><!--就是在这行上报错-->
<Bid type="String">080902143752015</Bid>
<Money type="String">1.6</Money>
<Charge type="String">1.6</Charge>
<Cash type="String">0.0</Cash>
<Pos type="String">011b675d1c1e0016</Pos>
<Time type="Date">2008-09-02 14:37:52.0</Time>
<Count type="String">1</Count>
<Receiverid type="String">20080313</Receiverid>
<CorrectBid type="String"></CorrectBid>
<Obj0 type="Hashtable">
<AccCode2Name type="String">培训费</AccCode2Name>
<Discount type="String">80.0</Discount>
<Charge type="String">1.6</Charge>
<AccCode1Name type="String">培训费</AccCode1Name>
<Cash type="String">0.0</Cash>
<Money type="String">1.6</Money>
<Id type="String">011c21c8126d014c</Id>
<Price type="String">2.0</Price>
</Obj0>
<Obj1 type="Hashtable">
<AccCode2Name type="String">培训费</AccCode2Name>
<Discount type="String">80.0</Discount>
<Charge type="String">1.6</Charge>
<AccCode1Name type="String">培训费</AccCode1Name>
<Cash type="String">0.0</Cash>
<Money type="String">1.6</Money>
<Id type="String">011c21c8126d014c</Id>
<Price type="String">2.0</Price>
</Obj1>
</Account0>
<Account1 type="Hashtable">
<Memo type="String">消费1</Memo>
<Bid type="String">080902143752015</Bid>
<Money type="String">1.6</Money>
<Charge type="String">1.6</Charge>
<Cash type="String">0.0</Cash>
<Pos type="String">011b675d1c1e0016</Pos>
<Time type="Date">2008-09-02 14:37:52.0</Time>
<Count type="String">1</Count>
<Receiverid type="String">20080313</Receiverid>
<CorrectBid type="String"></CorrectBid>
<Obj0 type="Hashtable">
<AccCode2Name type="String">培训费</AccCode2Name>
<Discount type="String">80.0</Discount>
<Charge type="String">1.6</Charge>
<AccCode1Name type="String">培训费</AccCode1Name>
<Cash type="String">0.0</Cash>
<Money type="String">1.6</Money>
<Id type="String">011c21c8126d014c</Id>
<Price type="String">2.0</Price>
</Obj0>
<Obj1 type="Hashtable">
<AccCode2Name type="String">培训费</AccCode2Name>
<Discount type="String">80.0</Discount>
<Charge type="String">1.6</Charge>
<AccCode1Name type="String">培训费</AccCode1Name>
<Cash type="String">0.0</Cash>
<Money type="String">1.6</Money>
<Id type="String">011c21c8126d014c</Id>
<Price type="String">2.0</Price>
</Obj1>
</Account1>
</ObjList>
</root>
...全文
58 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
li_zhifu 2008-09-16
  • 打赏
  • 举报
回复
!惭愧呀,果然如此,我倒是试过加utf-8,没灵,就没试gb2312
gwhdaxia 2008-09-16
  • 打赏
  • 举报
回复
建议在这个头前面加个
<?xml version="1.0" encoding="GB2312"?>

这个不影响xml的分析,但是可以解决中文

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧