1

当我想加载文件名中包含“%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;德尔福 2010;

4

1 回答 1

0

要正确加载文件名中包含(例如)“%25”的文件,我们必须在文件路径上使用 PathEncode。例如:

uses idURI;

[...]

vXML.LoadFromFile(TIdURI.PathEncode(pFileName));

警告:如果您使用例如“ó”的字符,这将不起作用...

于 2014-01-20T14:18:57.680 回答