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.