Я использовал Tidy для форматирования XML.Метод RRUZ, использующий xmlDoc. FormatXMLData, работает очень хорошо, и имеет смысл использовать его, но если ваши файлы XML оказываются большими, то это может работать не так хорошо.Когда я попытался отформатировать однострочный XML-файл размером 100 МБ, приложение завершилось с ошибкой нехватки памяти на компьютере с 4 ГБ, и это тоже было очень медленно.
Я использовал командную строкуверсия приборки.Существует также версия DLL, и есть файл заголовка Delphi, который вы можете выследить, но я нашел более удобным запускать exe через CreateProcess, а не изучать API DLL.
ЭтоКомандная строка, которую я использовал:
tidy.exe -xml -wrap 0 -indent -quiet -o outFile.xml inFile.xml
tidy.exe является автономным, вам не нужна DLL или что-либо еще.
Другими возможностями форматирования XML являются xmllint и xml starlet.
Я вообще не смог запустить xmllint, но я уверен, что смог бы, если бы настаивал.
xml starlet, казалось, работал хорошо, но у него не было никакой возможности записать в файл, только в stdout, поэтому я не использовал это, потому что мне пришлось бы придумать, как захватитьвыход.