当我想在其文件名中加载包含“%25”的XML文件时,我在Delphi中遇到此问题。
vXML := TXMLDocument.Create(nil);
vXML.FileName := pFileName;
try
try
vXML.Active := True;
在调试模式下,行
出错vXML.Active := True;
错误:
75ACC41F的第一次机会异常。异常类EDOMParseError 有消息
行:0'。
Enyone知道如何让TXMLDocument打开一个文件名为“%25”的文件?
文件不是空的 - 我查了一下。 当我删除“%25”字符时,一切正常。 示例文件名:“something%25.xml”
我的系统和IDE: 带有Service Pack 1的Windows 7 Home Premium; Delphi 2010;
答案 0 :(得分:0)
要在文件名中正确加载带有(例如)“%25”的文件,我们必须在文件路径上使用PathEncode。例如:
uses idURI;
[...]
vXML.LoadFromFile(TIdURI.PathEncode(pFileName));
警告:如果您使用的字符是'ó'这不行......