vXML.Active:= True => EDOMParseError в последовательности символов "%25"
У меня есть эта проблема в Delphi, когда я хочу загрузить XML-файл, который содержит "%25" в имени файла.
vXML := TXMLDocument.Create(nil);
vXML.FileName := pFileName;
try
try
vXML.Active := True;
В режиме отладки есть ошибка в строке
vXML.Active := True;
Ошибка:
Исключение из первого шанса на $75ACC41F. Класс исключения EDOMParseError с сообщением
Линия: 0 '.
Кто-нибудь знает, как заставить TXMLDocument открыть файл с символами "%25" в имени файла?
Файл не пустой - я проверил. Когда я удаляю символы "%25", все работает нормально. Пример имени файла: "что-то%25.xml"
Моя система и IDE: Windows 7 Home Premium с пакетом обновления 1; Delphi 2010;
1 ответ
Чтобы правильно загрузить файл с (например) "%25" в имени файла, мы должны использовать PathEncode в пути к файлу. Например:
uses idURI;
[...]
vXML.LoadFromFile(TIdURI.PathEncode(pFileName));
ВНИМАНИЕ: Если вы используете символы, которые, например, '' ', это не будет работать...