Как да манипулирате HTML и XML файлове от командния ред
Консорциумът на World Wide Web (W3C) разполага с редица безплатни инструменти, които са на разположение, за да помогнат за правилното генериране и обработка на HTML и XML файлове. Пакетът HTML-XML е набор от прости помощни програми за манипулиране на HTML и XML файлове от командния ред. Той е достъпен за много от различните дистрибуции на Linux и може да бъде полезен за тези, които трябва да обработват HTML или XML файлове редовно.
За да инсталирате пакета в Ubuntu, използвайте:
sudo apt-get инсталирате html-xml-utils
Има 31 инструмента в този пакет, ето резюме на това, което могат да направят:
- cexport - създаване на headerfile на експортираните декларации от C файл
- hxaddid - добавете ID към избраните елементи
- hxcite- замества библиографските справки чрез хипервръзки
- hxcite-mkbib - разширяване на препратките и създаване на библиография
- hxcopy- копирайте HTML файл, като запазвате относителните връзки
- hxcount - брои елементи и атрибути в HTML или XML файлове
- hxextract - извлича избраните елементи
- hxclean - прилагайте евристики, за да коригирате HTML файл
- hxprune - премахване на маркираните елементи от HTML файл
- hxincl- разшири HTML или XML файлове
- hxindex - създайте азбучно сортиран индекс
- hxmkbib - създава библиография от шаблон
- hxmultitoc - създаване на таблица със съдържание за набор от HTML файлове
- hxname2id - преместете някои ID = или NAME = от елементи A към родителите им
- hxnormalize - хубаво отпечатване на HTML файл
- hxnum - заглавия на раздели в HTML файл
- hxpipe - конвертиране на XML във формат, който е по-лесен за анализ с Perl или AWK
- hxprintlinks - брой връзки и добавяне на таблица с URL адреси в края на HTML файл
- hxremove- премахване на избраните елементи от XML файл
- hxtabletrans - транспонира таблица HTML или XHTML
- hxtoc - вмъкнете таблица със съдържание в HTML файл
- hxuncdata - замествате секциите CDATA по символни единици
- hxunent - заменяте предварително дефинираните HTML знаци на UTF-8
- hxunpipe - конвертиране на изхода на тръбата обратно в XML формат
- hxunxmlns - заменете "глобалните имена" чрез префикси на XML пространство
- hxwls - списък с връзки в HTML файл
- hxxmlns - заменете префиксите на XML пространството с "глобални имена"
- asc2xml, xml2asc - конвертиране между UTF8 и обекти
- hxref - генериране на кръстосани препратки
- hxselect- екстрактни елементи, които съответстват на селектора (CSS)
За да ви запознаем със силата на този набор от инструменти, ето няколко примера за това как да използвате няколко от командите.
Командата " hxnormalize
" ще преформатира HTML файл, така че да е лесен за четене и добре форматиран. За да тестваме тази команда, ще създадем грозен HTML код. Изберете и копирайте следните линии и ги поставете директно в терминален прозорец.
котка> test.html << __EOF__Здравейте __EOF__
Това ще създаде файл, наречен test.html. В HTML липсват някои от заключващите се тагове и всичко е написано на един ред. Командата hxnormalize
ще преформатира файла и ще напише хубавата версия на стандартния изход (stdout). Ето как изпълнявате командата:
hxnormalize -e test.html
Знакът "-e" указва hxnormalize да вмъкне липсващи затварящи се тагове.
Можете също така да стартирате командата срещу уеб страница, като замените "test.html" с URL адрес, например:
hxnormalize http://www.example.com
Командата hxwls
ще анализира локален HTML файл или уеб сайт и ще hxwls
линка в HTML. Например:
hxwls http://www.example.com
Ето първите няколко реда продукция за уеб сайта Make Tech Easier:
Командата hxtabletrans
променя таблицата така, че редовете да стават колони и колони да стават редове.
Нека да създадем HTML файл с проста таблица. Изберете и копирайте следните линии и ги поставете директно в терминален прозорец.
cat> table.html << __EOF__
Jill | ковач | 50 |
вечер | Джаксън | 94 |
Резултатът е файл, наречен table.html. В уеб браузър таблицата изглежда така:
Jill | ковач | 50 |
вечер | Джаксън | 94 |
Ако стартирате командата hxtabletrans
, тя ще напише пренесената таблица на стандартния изход. Резултатите могат да бъдат пренасочени към друг файл по следния начин:
hxtabletrans table.html> table2.html
Новият файл, table2.html, ще покаже Джил Смит и Ева Джаксън в колони, а не в редове, както в оригинала. Получената таблица ще бъде нещо като това:
Jill | вечер |
ковач | Джаксън |
50 | 94 |
Повечето от командите се използват по подобен начин на примерите по-горе, т.е. трябва да зададете файл или URL, който да се обработва, а изходът се записва в stdout. Опитайте да експериментирате с различните команди, тъй като ги смятате за полезни.
Ако имате някакви въпроси относно помощните програми HTML-XML, моля, не се колебайте да ги попитате в коментарите по-долу и ще видим дали можем да помогнем.