The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Обработка XML данных в командной ст..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Обработка XML данных в командной ст..."  
Сообщение от auto_tips (??) on 31-Мрт-09, 11:49 
В составе Debian, Ubuntu и других Linux дистрибутивах можно найти пакет xmlstarlet (http://xmlstar.sourceforge.net/),
представляющий собой набор утилит командной строки для преобразования, выборки данных и проверки XML документов.
Реализует для работы с XML функции похожие на утилиты grep, tr, sed, awk, diff, patch, join и т.п.,
что очень удобно для разбора XML документов в скриптах.

Например, для парсинга RSS и вывода заголовков можно использовать:

   curl url_rss | xmlstarlet sel -t -m /rss/channel/item -v title -n

вывод из RSS ссылки и заголовка, разделенные символом "|"

   curl url_rss | xmlstarlet sel -t -m /rss/channel/item -v link -o "|" -v title -n

Для ленты в формате Atom, с построчным разделением URL от заголовка:
  
   curl url_rss | sed 's/xmlns=/_xmlns=/'| xmlstarlet sel -t -m /feed/entry -v link/@href -n -v title -n


Опция -t информирует о начале задания шаблона, определенного далее идущими директивами.
-m указывает, параметры XPath выборки, в нашем случае, обработка всех <item> внутри <channe> внутри <rss>.
-v - определяем содержимое какого поля выводить.
-n - инициирует вывод символа перевода строки,
-o - позволяет вывести произвольный текст.

Быстрый просмотр текста в ODT файле

   unzip -p document.odt content.xml | xmlstarlet sel -N text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" \
   -T -t -m '//text:p' -v . -n

Построить список изображений, используемых в заданной странице:

   cat test.html| xmlstarlet sel --html -t -m "//img" -v "@src" -n

Примеры использования xmlstarlet для различных ситуаций можно найти в директории /usr/share/doc/xmlstarlet/examples

URL:
Обсуждается: http://www.opennet.me/tips/info/2008.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

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


1. "Обработка XML данных в командной строке при помощи xmlstarle..."  
Сообщение от vitek (??) on 31-Мрт-09, 11:49 
спасибо... не знал
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Обработка XML данных в командной строке при помощи xmlstarle..."  
Сообщение от Tikhon (??) on 01-Апр-09, 13:30 
А почему не работает XPath выборка при заданном непустым xmlns? (sed 's/xmlns=/_xmlns=/')
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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