Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2017, 07:55   #1
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию форматирование XML

Здравствуйте.
Есть вот такое XML-месиво в формате UTF-8:
Код:
<INI><section name="/mnt/internet_e/YouTube/JjAR и Retro Game Gauntlet 2013 (полная версия)/День 03 - GameBoy, GameGear.mp4"><key value="00:34:3500:34:35"/><key value="02:57:5102:57:51"/><key value="03:10:3203:10:32"/><key value="03:26:5703:26:57"/></section>
	<section name="/mnt/internet_e/YouTube/JjAR Стримы/[2017-02-23] Стрим №28 - Квестилище - Петька и ВИЧ 3- Возвращение Аляски (PC) часть 1.mp4">
		<key value="02:11:5302:11:53"/>
	</section>  <section name="E:\INTERNET\YouTube\JjAR и Retro Game Gauntlet 2013 (полная версия)\День 03 - GameBoy, GameGear.mp4">
    <key value="01:24:5601:24:56"/>
    <key value="02:53:5002:53:50"/>
  </section>
</INI>
нужно его отформатировать в нормальный вид:
Код:
<INI>
  <section name="/mnt/internet_e/YouTube/JjAR и Retro Game Gauntlet 2013 (полная версия)/День 03 - GameBoy, GameGear.mp4">
    <key value="00:34:3500:34:35"/>
	<key value="02:57:5102:57:51"/>
	<key value="03:10:3203:10:32"/>
	<key value="03:26:5703:26:57"/>
  </section>
  <section name="/mnt/internet_e/YouTube/JjAR Стримы/[2017-02-23] Стрим №28 - Квестилище - Петька и ВИЧ 3- Возвращение Аляски (PC) часть 1.mp4">
	<key value="02:11:5302:11:53"/>
  </section>
  <section name="E:\INTERNET\YouTube\JjAR и Retro Game Gauntlet 2013 (полная версия)\День 03 - GameBoy, GameGear.mp4">
    <key value="01:24:5601:24:56"/>
    <key value="02:53:5002:53:50"/>
  </section>
</INI>
Можно это сделать на Delphi?
Так же пойдёт уже готовая программа, если такая есть.
BLACK_RAIN вне форума Ответить с цитированием
Старый 27.02.2017, 08:52   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А какая разница? Это одно и то же. Попробуй, например, с помощью XMLDocument прочитать и записать в другой файл, не помню как он переносы строк и отступы сформирует, но точно по другому, чем в исходном файле )) Или другой какой-то парсер
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 27.02.2017 в 08:55.
Аватар вне форума Ответить с цитированием
Старый 27.02.2017, 08:57   #3
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А какая разница?
Для программы-то понятно что никакой. А если читать этот файл в блокноте, то разница большая.
BLACK_RAIN вне форума Ответить с цитированием
Старый 27.02.2017, 09:02   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Ну редактировать в блокноте как-то не было необходимости, почти. А вот в качестве просмотровщика браузер нормально форматирует. Да и программку сделать, которая отформатирует для себя, любимого, какие проблемы?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 27.02.2017 в 09:06.
Аватар вне форума Ответить с цитированием
Старый 27.02.2017, 09:45   #5
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Попробуй, например, с помощью XMLDocument прочитать и записать в другой файл
Попробовал. Результат не однозначный. Зависит от пробелов между нодами. Но, в общем, это не помогает.

Последний раз редактировалось Аватар; 27.02.2017 в 09:58.
BLACK_RAIN вне форума Ответить с цитированием
Старый 27.02.2017, 09:59   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Результат не однозначный. Зависит от пробелов между нодами.
Не может зависеть. После чтения компонент забывает о форматировании исходного файла. В нем еще свойство XML есть, Stream, его можно пробовать в файл выбросить
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.02.2017, 10:36   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

http://www.freeformatter.com/xml-formatter.html
p51x на форуме Ответить с цитированием
Старый 28.02.2017, 10:24   #8
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Не может зависеть. После чтения компонент забывает о форматировании исходного файла
ничего он не забывает. Открываю и вывожу
Код:
memo1.lines.text := xml.xml;
форматирование как в оригинальном файле. Сохраняю в новый файл - то же самое.
BLACK_RAIN вне форума Ответить с цитированием
Старый 28.02.2017, 11:20   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Попробуй так
Код:
  XMLDocument1.LoadFromFile('e:\13.xml');
  Memo1.Text:=FormatXMLData(XMLDocument1.XML.Text);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.02.2017, 13:00   #10
Filka
Форумчанин
 
Регистрация: 29.10.2015
Сообщений: 272
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
Так же пойдёт уже готовая программа, если такая есть.
Notepad++ + плагин Xml Tools
Filka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C#. Парсинг XML-файла с использованием библиотеки System.xml.linq Gift020 Помощь студентам 5 04.04.2013 13:44
программа, которая должна находить в данной директории *.xml файлы и переименовывать в *.xml.dt. (Delphi) nice.name Помощь студентам 2 09.01.2013 15:40
Форматирование файла xml amator_roma Visual C++ 1 05.01.2012 20:08
сформировать xml-файл на основе другого xml-файла NieL Общие вопросы Delphi 2 21.12.2010 15:49
форматирование XML altcore Общие вопросы Delphi 3 09.06.2010 13:29