Утилита командной строки с открытым исходным кодом для обработки XML-файла.

XMLStarlet является рядом инструментов командной строки, которые могут использоваться для преобразования, запросить, проверить, и отредактировать XML-документы и файлы с помощью простого набора команд оболочки похожим способом к тому, что сделано для файлов простого текста с помощью grep, sed, awk, разности, управляет патч, соединение, и т.д.

Документация: на Википедию

3
ответа

нужно объединить только определенные строки файла xml вместе [дубликат]

Я хотел бы преобразовать этот XML туда, где соединяются только определенные линии. Это сделано для того, чтобы позже я мог использовать grep только для определенных строк. Если бы этот XML использовал атрибуты, то данные уже были бы в 1 ...
18.11.2018
2
ответа

Как с помощью xmlstarlet запросить у тега два значения атрибута?

Пример :- Я хочу выбрать @id="cover" и media -type="image/ *" и получить @href. Мое текущее «решение» выглядит так::
28.11.2021
2
ответа

Использовать xmlstarlet для удаления всего элемента, соответствующего значению атрибута?

Мой вопрос похож на sed -Удалить узел XML, содержащий определенный элемент -Unix & Linux Stack Exchange. Попытки реализовать предложенные там предложения заняли у меня весь день, но у меня не получилось...
01.01.2021
2
ответа

Изменить значение узла XML с помощью sed?

У меня есть следующий атрибут: 1.2.8 Как я могу заменить все внутри , чтобы изменить только значение (1.2.8) ? ...
15.03.2019
2
ответа

Извлечение содержимого между тегами, которые имеют подпункту

, извлеките желаемое содержимое из файла с помощью «XMLStarlet» или «SED» или «awk» или какой-то аналогичный инструмент. Процесс должен относиться к полному имени конкретных бизнеспроцессов, а затем должен просто ...
24.01.2019
1
ответ

Команда xmlstarlet для пакетной обработки файлов.xhtml

Я попробовал xmlstarlet для обработки отдельных файлов.xhtml. xmlstarlet fo --опустить -decl --восстановить --html file.xhtml Эта команда обрабатывает отдельные файлы и выводит вывод только на терминал
03.10.2021
1
ответ

Преобразование этого регулярного выражения в дружественное для sed

Я пытаюсь выполнить это регулярное выражение с помощью sed, но, похоже, sed не поддерживает? Пишет недопустимый диапазон символов эхо "$информация" | sed -e 's/ (? :\d[\s -.] *){12,19}/ */g' Попытка сопоставить любое...
18.06.2021
1
ответ

xmlstarlet, как выбрать тег непосредственно перед выбранным тегом

Я сканирую SLA-файлы scribus и хочу найти текст с определенным стилем абзаца. Формат файла SLA представляет собой довольно плоский формат XML, и в нем есть несколько абзацев подряд, каждый из которых разделен...
28.05.2021
1
ответ

Попытка прочитать атрибуты XML из нескольких файлов и заменить их числом в 1,25 раза больше, чем раньше

Я пытаюсь написать сценарий bash или что-то подобное, который я могу использовать для изменения всех вхождений в наборе файлов xml одним щелчком мыши. У меня есть 24 файла xml, каждый из которых содержит несколько десятков строк и...
05.05.2021
1
ответ

xmlstarlet последовательно выбирает несколько вхождений одного и того же тега

Я пытаюсь выбрать значения атрибутов в нескольких вхождениях одного и того же тега, используя xmlstarlet в цикле for, но $i в итерации не принимает ожидаемое значение, я ссылаюсь на него как &...
10.02.2021
1
ответ
1
ответ

Как искать блок XML и удалять одно и то же

Это мой XML. <группа конфигурации> SERVER_CONFIG Имя сервера <...
29.03.2020
1
ответ
1
ответ

вставить строку в xml с помощью xmlstarlet

У меня есть файл XML, который выглядит так:
17.01.2020
1
ответ

как анализировать xml, который имеет несколько свойств и имен

если у нас есть XML-скрипт, подобный этому, как получить значение определенного имени с помощью синтаксического анализа XML <конф> something1
01.10.2019
1
ответ

Создание новых элементов с помощью xmlstarlet

Я пытался добавить новые элементы в файл XML. Исходный файл: Я пытаюсь получить следующий результат: &...
07.06.2019
1
ответ

Как извлечь выбранное значение в XML

Я хотел бы извлечь только значение из XML-файла с аналогичным содержимым. Пример; <! [CDATA [*** текст 1 текст * .. . </div> <div class="tags"> <a href="/tags/xml" class="tag" title="xml" rel="tag">xml</a> <a href="/tags/xmlstarlet" class="tag" title="xmlstarlet" rel="tag">xmlstarlet</a> </div> <div class="action-time"> <span title="26.03.2019 ">26.03.2019 </span> </div> </div> <div class="clearfix"></div> </div> <div class="item"> <div class="stats "> <i class="fa "></i> <div class="answers"> <span class="answer-count">1</span> <div>ответ</div> </div> </div> <div class="summary"> <h2 class="lead"><a href="/questions/169651-analiz-bolee-12-000-xml-fajlov" title="Анализ более 12 000 XML-файлов ">Анализ более 12 000 XML-файлов </a></h2> <div class="description"> У меня есть папка, содержащая более 12 000 XML-файлов. Мне нужно получить список файлов в этой папке, которые соответствуют определенным критериям. В XML-файле есть узел с именем /BillingData/InvoiceLinesList/... </div> <div class="tags"> <a href="/tags/awk" class="tag" title="awk" rel="tag">awk</a> <a href="/tags/sed" class="tag" title="sed" rel="tag">sed</a> <a href="/tags/xmlstarlet" class="tag" title="xmlstarlet" rel="tag">xmlstarlet</a> </div> <div class="action-time"> <span title="21.09.2018 ">21.09.2018 </span> </div> </div> <div class="clearfix"></div> </div> <div class="item"> <div class="stats "> <i class="fa "></i> <div class="answers"> <span class="answer-count">1</span> <div>ответ</div> </div> </div> <div class="summary"> <h2 class="lead"><a href="/questions/110838-xmlstarlet-xml-v-csv-vyvod-kak-nannannan" title=" XmlStarlet xml в csv вывод как 'NaNNaNNaN' "> XmlStarlet xml в csv вывод как 'NaNNaNNaN' </a></h2> <div class="description"> Я написал запрос xmlstarlet sel -T -t -m badges / row -v "concat (@row, ',')" -n Badges.xml, и на выходе будет повторяется как: NaNNaNNaN ... для вероятного количества строк в файле Badges.xml. Я ... </div> <div class="tags"> <a href="/tags/csv" class="tag" title="csv" rel="tag">csv</a> <a href="/tags/xmlstarlet" class="tag" title="xmlstarlet" rel="tag">xmlstarlet</a> </div> <div class="action-time"> <span title="19.03.2018 ">19.03.2018 </span> </div> </div> <div class="clearfix"></div> </div> <div class="item"> <div class="stats "> <i class="fa "></i> <div class="answers"> <span class="answer-count">1</span> <div>ответ</div> </div> </div> <div class="summary"> <h2 class="lead"><a href="/questions/150535-kak-obrabotat-ili-otformatirovat-html-dlja-sintaksicheskogo-analiza-s-pomoschju-xmstarlet" title=" как обработать или отформатировать html для синтаксического анализа с помощью xmstarlet? "> как обработать или отформатировать html для синтаксического анализа с помощью xmstarlet? </a></h2> <div class="description"> Нужно ли мне сначала запускать html в «дикой природе» через что-то вроде jsoup? Не для того, чтобы сделать его действительным в человеческом смысле, может превратить его в тарабарщину, но, по крайней мере, для того, чтобы xmlstarlet мог обработать файл? </div> <div class="tags"> <a href="/tags/command-line" class="tag" title="command-line" rel="tag">command-line</a> <a href="/tags/html" class="tag" title="html" rel="tag">html</a> <a href="/tags/text-processing" class="tag" title="text-processing" rel="tag">text-processing</a> <a href="/tags/xml" class="tag" title="xml" rel="tag">xml</a> <a href="/tags/xmlstarlet" class="tag" title="xmlstarlet" rel="tag">xmlstarlet</a> </div> <div class="action-time"> <span title="30.07.2017 ">30.07.2017 </span> </div> </div> <div class="clearfix"></div> </div> <div class="item"> <div class="stats "> <i class="fa "></i> <div class="answers"> <span class="answer-count">1</span> <div>ответ</div> </div> </div> <div class="summary"> <h2 class="lead"><a href="/questions/169761-kak-preobrazovat-mnogourovnevyj-xml-v-odnu-stroku-soderzhaschuju-vse-urovni-s-pomoschju-xmlstarlet" title="Как преобразовать многоуровневый xml в одну строку, содержащую все уровни с помощью XMLSTARLET">Как преобразовать многоуровневый xml в одну строку, содержащую все уровни с помощью XMLSTARLET</a></h2> <div class="description">Образец XML выглядит следующим образом: <?xml version="1.0" encoding="UTF-8" standalone="yes"? <root> <level01> <field01>AAAAAAAAAAAAAAAAAAAAAAAAAA</field01> <field02>... </div> <div class="tags"> <a href="/tags/xmlstarlet" class="tag" title="xmlstarlet" rel="tag">xmlstarlet</a> </div> <div class="action-time"> <span title="07.07.2016 ">07.07.2016 </span> </div> </div> <div class="clearfix"></div> </div> <div class="item"> <div class="stats "> <i class="fa "></i> <div class="answers"> <span class="answer-count">0</span> <div>ответов</div> </div> </div> <div class="summary"> <h2 class="lead"><a href="/questions/237439-chtenie-fajla-xml-i-izvlechenie-tolko-imen-uzlov-i-struktury" title="чтение файла XML и извлечение только имен узлов и структуры ">чтение файла XML и извлечение только имен узлов и структуры </a></h2> <div class="description">Мне нужно проверить структуры файлов XML и создать отчет, который показывает только древовидную структуру DOM и опускает значения. По сути, я только имена узлов и никаких значений. Я пробовал использовать... </div> <div class="tags"> <a href="/tags/xml" class="tag" title="xml" rel="tag">xml</a> <a href="/tags/xmllint" class="tag" title="xmllint" rel="tag">xmllint</a> <a href="/tags/xmlstarlet" class="tag" title="xmlstarlet" rel="tag">xmlstarlet</a> </div> <div class="action-time"> <span title="08.07.2021 ">08.07.2021 </span> </div> </div> <div class="clearfix"></div> </div> <div class="item"> <div class="stats "> <i class="fa "></i> <div class="answers"> <span class="answer-count">0</span> <div>ответов</div> </div> </div> <div class="summary"> <h2 class="lead"><a href="/questions/163575-kak-imenno-rabotaet-xmlstarlet-move" title=" Как именно работает xmlstarlet move "> Как именно работает xmlstarlet move </a></h2> <div class="description"> Я хочу перемещать элементы в xml-документе с помощью xmlstarlet В частности, я хочу внести следующие изменения <parent> <before /> <span> <a> blah </a> </ ... </div> <div class="tags"> <a href="/tags/xml" class="tag" title="xml" rel="tag">xml</a> <a href="/tags/xmlstarlet" class="tag" title="xmlstarlet" rel="tag">xmlstarlet</a> </div> <div class="action-time"> <span title="02.12.2017 ">02.12.2017 </span> </div> </div> <div class="clearfix"></div> </div> <div class="item"> <div class="stats "> <i class="fa "></i> <div class="answers"> <span class="answer-count">0</span> <div>ответов</div> </div> </div> <div class="summary"> <h2 class="lead"><a href="/questions/196499-pereimenovanie-elementov-xml-v-posledovatelnost" title="Переименование элементов XML в последовательность">Переименование элементов XML в последовательность</a></h2> <div class="description">Я искал возможное решение на основе XML для другого вопроса. Я знаю о его принятом ответе, который предлагает решения sed и python. Данный фрагмент XML: <Имена> <Имя>...</div> <div class="tags"> <a href="/tags/xml" class="tag" title="xml" rel="tag">xml</a> <a href="/tags/xmlstarlet" class="tag" title="xmlstarlet" rel="tag">xmlstarlet</a> </div> <div class="action-time"> <span title="11.11.2017 ">11.11.2017 </span> </div> </div> <div class="clearfix"></div> </div> </div> <div class="main-footer"> <div class="pagination"> <div class="pagination"> <ul><li class="pagination__item"><a href="/tags/xmlstarlet" class="pagination__link pagination__link--active">1</a></li><li class="pagination__item"><a href="/tags/xmlstarlet/page2" class="pagination__link">2</a></li></ul> </div> </div> </div> </div> </div> <aside class="sidebar"> <div class="awrap"> </div> </aside> </div> </div> <footer class="footer"> <div class="wrapper wrapper--sm"> <div class="footer-navs-col"> <div class="footer-nav footer-nav--menu"> <div class="footer-coryright">Вопросы и ответы Unix / Linux</div> </div> <div class="footer-nav footer-nav--catalog"> <div class="footer-nav__title">Интересные проекты</div> <nav class="footer-menu"> <ul> <li class="footer-menu__item"><a class="footer-menu__link" href="https://askubuntu.ru">Вопросы о Ubuntu системах</a></li> </ul> </nav> </div> </div> <div class="footer-contacts-col"> <div class="soc-widget-col"> </div> </div> <div class="clearfix"></div> </div> </footer> </div> <script type="text/javascript" src="/js/ui/jquery-ui-1.8.16.custom.min.js" async></script> <script type="text/javascript" src="/js/ui/external/jquery.cookie.js" async></script> <script type="text/javascript" src="/js/versions/menu.ru.u1528232400.js" async></script> <script type="text/javascript" src="/js/jquery.fancybox.min.js" async></script> <script type="text/javascript" src="/js/slick.min.js" async></script> <script type="text/javascript" src="/js/jquery.maskedinput.min.js" async></script> <script type="text/javascript" src="/js/versions/scripts.ru.u1572761624.js" async></script> <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(61730962, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/61730962" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> </div> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "name": "Ubuntu - Вопросы", "alternateName": "Ubuntu - Вопросы", "url": "https://unixconf.ru", "potentialAction": { "@type": "SearchAction", "target": "https://unixconf.ru/search?search={search_term_string}", "query-input": "required name=search_term_string" } } { "@context": "https://schema.org", "@type": "Organization", "name": "Ubuntu - Вопросы", "url": "https://unixconf.ru", "logo": "https://unixconf.ru/i/logo.png", "email": "info@unixconf.ru", "telephone": "" } </script> <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script> <script>hljs.initHighlightingOnLoad();</script> </body> </html>