Delphi保存xml格式文件无法读取原因
用Delphi调用自己java写的webservice接口,查询数据。java三种返回数据格式,这里主要讲返回的ADOXML格式ADOQuery无法正常导入的原因:
public String login(String username, String password); //返回json格式数据 public String OpenSQL_Json(String ssql); //返回TClientDataSet格式xml数据 public String OpenSQL_Xml_Cds(String ssql); //返回ADOQuery格式xml数据 public String OpenSQL_Xml_Qry(String ssql);
导入xml格式数据方法:
ADOQuery1.LoadFromFile(sxmlfile);
(经过多次对比实测:用上述导入方法比用走TClientDataset,循环逐字段添加要快至少10倍左右。(测试15000条记录,每条记录80个字段左右)导入只需要4秒,但是手工添加需要1分钟左右。当然TClientDataset也有导入功能,速度一样好像还要更快,但是存在数据量大导入报错,字符总数超过大约850万左右就会凉凉,一直找不到原因。有知道的可以@告诉我一下,谢谢。)
错误误截图:
经过各种折腾就是读取不了,反复对比字符串和格式铁保无任何错误!最终解决方法:
收到的xml串保存为文件时一定要记得文件编码为utf-8, 切记utf-8并不等于unicode,否则铁定读取不了!各种错误闪瞎你眼睛。检测是否为utf-8编码可以用Notepad++,
另外一个小技巧:检测xml串是否合法可以把xml文件拖到浏览器中,浏览器能正常解析格式化铁定没问题。我这个是浏览器也解析不了。
本文来自博客园,作者:IT情深,转载请注明原文链接:https://www.cnblogs.com/wh445306/p/16751922.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?