Каков правильный способ преобразования XML-URI в путь к файлу Windows?Создание пути Windows из URI XML
В качестве отправной точки, можно превратить:
file:///C:/DirA/DirB/File.txt
в:
C:\DirA\DirB\File.txt
... сначала сбросив file:///
подстроку (использовав его, чтобы определить, что мы имеем дело с локальный файл), а затем помещая обратную косую черту везде, где в исходной строке появляется косая черта. Это похоже на хорошее начало, но этого недостаточно. Например, URI может выглядеть следующим образом:
file:///C:/DirA/DirB/With%20Spaces.txt
... который становится:
C:\DirA\DirB\With Spaces.txt
... после замены% 20s с пробелами. Даже этого, однако, было бы недостаточно, так как может также быть необходимо иметь дело с другими такими encodings. Кроме того, некоторые из этих символов не будут легальными атрибутами имени файла Windows, поэтому необходимо определить, какие из этих кодировок действительны в именах файлов Windows и помечать ошибку, если что-то еще встречается.
Есть ли что-нибудь еще, что я забыл? Кто-нибудь хочет расширить это?
Я надеялся кто-нибудь подробно остановиться на самом процессе превращения URI в путь Windows, но в данных обстоятельствах я отмечаю ваш ответ как принятый. –