Fish Shell:
Работа с XML

Как:

У Fish нет встроенного парсинга XML, так что вам придется опираться на внешние инструменты вроде xmllint или xmlstarlet. Вот пример чтения значений:

# Парсинг XML с использованием xmlstarlet
echo '<root><element>Привет Мир</element></root>' | xmlstarlet sel -t -v "/root/element"

Вывод:

Привет Мир

Для редактирования XML используйте следующее:

# Редактирование элемента XML с использованием xmlstarlet
echo '<root><element>Старое Значение</element></root>' | xmlstarlet ed -u "/root/element" -v 'Новое Значение'

Вывод:

<?xml version="1.0"?>
<root>
  <element>Новое Значение</element>
</root>

Подробнее:

XML существует с конца 90-х, созданный для удобочитаемости и дружелюбности к машинам. Несмотря на то что JSON отнял у XML часть популярности благодаря простоте, XML остается незаменимым там, где ключевыми являются валидация документов и пространства имён.

Альтернативы? Конечно — JSON, YAML или даже бинарные форматы вроде Protocol Buffers для приложений, требовательных к производительности. Но схема XML и XSLT (для трансформации XML) могут быть решающими для сложных сценариев, где важна надёжность.

Под капотом инструменты вроде xmlstarlet используют мощные библиотеки, такие как libxml2, предоставляя вам XPath и XQuery для детальной работы с XML. Это не только инструменты для работы с XML, но и ключи к манипуляции с DOM, так как вы применяете аналогичные концепции в любом языке, работающем с XML.

Смотрите также: