AdoDataSet.loadFromFile读XML文件的时候在winxp系统中报错“文本内容中发现无效字符”!急!(200分)

  • 主题发起人 主题发起人 yuk
  • 开始时间 开始时间
Y

yuk

Unregistered / Unconfirmed
GUEST, unregistred user!
我用AdoDataSet.SaveToFile(文件名.xml,pfXML)生成的一组XML文件,然后用ADODataSet.loadFromFile的时候在XP系统中出现个别两个文件读取时报“文本内容中发现无效字符”!
在win2003、win2000、win98中均未发现此错误,现在十分头痛,客户那里现在急着要东西,又都是装的xp系统。
但我的xp中安装了delphi调试的时候没有发现。
不知道打包中是不是需要什么文件或者Xp需要什么补丁或者是代码中有什么处理?
事情紧急!
谢谢!
 
现在出手的人怎么这么少啊
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=509816
 
在文本内容中发现了一个无效字符: 如果XML文档中的一个字符与编码属性不匹配,你就会得到这个错误信息。通常,如果你的XML 文档中包含外语字母并且文件是用记事本这样的单字节编码编辑器保存的,而且没有规定编码属性的话,就会得到这样的错误信息。
为避免这类错误,我的建议是: 总是将XML文件保存成没有任何编码信息的Unicode。使用一个支持Unicode的编辑器(Windows 2000 记事本就行),总是省略编码属性。
 
问题不在于此,因为出错总是在winxp上,XML文件也是用ADODataSet直接生成的,而且是个别文件出现这样的问题。
后来又安装一个新的winxp系统和delphi,直接在用ADODataSet打开用ADODataSet生成的XML文件,发现是在记录移到EOF的时候出现这样的问题的。数据是正确的,而且和其他没有出错的XML文件对比文件格式、标示也是一致的。
现在我只是直接捕获这个错误处理的。我认为在这上面的处理DELPHI可能算是一个BUG。
谢谢大家!
 
现在还是发现问题了,qince所说的问题是正确的,但是,我怎么在delphi中把XML文件另存成unicode的文本呢?
 
MSDN上讲得挺清楚的
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxml/html/xmlencodings.asp
 
后退
顶部