The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Чтение и редактирование XML файла, universite (ok), 12-Янв-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


7. "Чтение и редактирование XML файла"  +/
Сообщение от михалыч (ok), 13-Янв-19, 08:17 
> Хотелась бы найти утилиту-фреймворк, чтоб не только читать XML, а и без
> проблем писать(изменять) значения. Тот же xmlstarlet не понимает несколько значений (record):

эээ, "маладой челове-е-ек!", не пытайтесь нас обмануть!

ничего искать не надо, всё уже изобретено, прекрасно понимает и работает

садимся на велик и поехали?
да, едем!

(лирическое отступление)
подозреваю, что у ТС ОС BSD и, каюсь, у меня не было xmlstarlet (xml), пришлось установить

короче, я сделал за тебя домашку

hint:
чтобы менять нужно указывать что хотм менять, программа не телепат

так работает
xml ed -u '/zonelist/domain[@name="domain01.com"]/record[@type="A" and @value="123.255.255.123" and @ttl="600"]/@value' -v 0 xml-config.xml

и так тоже работает
xml ed -u '//domain[@name="domain01.com"]/record[@type="A" and @value="123.255.255.123"]/@value' -v 0 xml-config.xml

а так нет
xml ed -u '//domain[@name="domain01.com"]/record[@type="A" and @value="123.255.255.123"]/' -v 0 xml-config.xml

а так и вовсе неправильно
xml ed -u '//domain[@name="domain01.com"]/record[@type="A" and @value="123.255.255.123"]' -v 0 xml-config.xml

подставляет в конце "0</record>" - то что и вовсе не требуется

ну и с заменой в субдомене аналогично

рабочие примеры
xml ed -u '/zonelist/domain[@name="domain01.com"]/record[@type="A" and @value="123.255.255.255"]/@value' -v 0 xml-config.xml

xml ed -u '//domain[@name="domain01.com"]/record[@type="A" and @value="123.255.255.255"]/@value' -v 0 xml-config.xml

дарю
http://xmlstar.sourceforge.net/doc/UG/ch04s03.html

такие дела..

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

10. "Чтение и редактирование XML файла"  +/
Сообщение от universite (ok), 13-Янв-19, 12:50 
>> Хотелась бы найти утилиту-фреймворк, чтоб не только читать XML, а и без
>> проблем писать(изменять) значения. Тот же xmlstarlet не понимает несколько значений (record):
> эээ, "маладой челове-е-ек!", не пытайтесь нас обмануть!
> ничего искать не надо, всё уже изобретено, прекрасно понимает и работает

shell,sed,awk есть в системе и этого достаточно.
Но хочется на другом уровне абстракции.

> (лирическое отступление)
> xmlstarlet (xml), пришлось установить

Это я уже упоминал.


> короче, я сделал за тебя домашку

Не, скорее, разжевал бредовую документацию по работе с переменными.
И это не домашка, а учеба в написании законченного решения. Хз, удасться ли вообще продать хоть одну лицензию :)

> hint:
> чтобы менять нужно указывать что хотм менять, программа не телепат

это понятно.

> так работает
> xml ed -u '/zonelist/domain[@name="domain01.com"]/record[@type="A" and @value="123.255.255.123"
> and @ttl="600"]/@value' -v 0 xml-config.xml
> и так тоже работает
> xml ed -u '//domain[@name="domain01.com"]/record[@type="A" and @value="123.255.255.123"]/@value'
> -v 0 xml-config.xml

Да, понял, рабочее решение.


> рабочие примеры
> xml ed -u '/zonelist/domain[@name="domain01.com"]/record[@type="A" and @value="123.255.255.255"]/@value'
> -v 0 xml-config.xml
> xml ed -u '//domain[@name="domain01.com"]/record[@type="A" and @value="123.255.255.255"]/@value'
> -v 0 xml-config.xml

Записал.

> дарю
> http://xmlstar.sourceforge.net/doc/UG/ch04s03.html

ну, сравни для начала исходный XML.
У меня массив загнан в аттрибут record.
А в примерах жестко аттрибут-значение.

Ответить | Правка | Наверх | Cообщить модератору

15. "Чтение и редактирование XML файла"  +/
Сообщение от михалыч (ok), 13-Янв-19, 16:44 
> Не, скорее, разжевал бредовую документацию по работе с переменными.

да ничего я не жевал, я этого "зверя" впервые вижу

> И это не домашка, а учеба в написании законченного решения.

но это не точно ))

> Хз, удасться ли вообще продать хоть одну лицензию :)

а почему нет?
да всё получится, дорогу осилит идущий

> ну, сравни для начала исходный XML.
> У меня массив загнан в аттрибут record.
> А в примерах жестко аттрибут-значение.

это не важно, всё равно
можно менять / переименовывать значения атрибутов, элементов

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру