Титла: Инструмент за конвертиране на (x)html към xml Публикувано от: clovenhoof в Oct 11, 2011, 10:57 Търся open-source вариант на подобно тулче.
Идеята е въвеждам url на даден сайт и програмата: прави download на страницата в html формат и след това конвертира в xml. В краен случай може само за конвертиране от xhtml към xml - също ще е ОК. ПП: Аз намерих ето това ($2), но е платено с 30 дневен срок. Титла: Re: Инструмент за конвертиране на (x)html към xml Публикувано от: Naka в Oct 11, 2011, 11:28 Ако ти се занимава с xslt >:D
Код: xsltproc tvoiat_filtar.xslt some_file.xhtml > out.xml xsltproc го има във всяка линукс дистрибуция... обаче трябва и да си напишеш на xslt твоят собствен филтър.... Ако втори път ми се наложи да пиша нещо на xslt, сериозно ще се замисля.. :'( Много му е крива логиката и синтаксиса.. Може да се окаже, че да си напишеш свой собствен скрипт с някой конвенционален език.. (perl,php...) - ще стане много по-лесно и ефективно. Какъв трябва да бъде резултатният xml? За какво ще служи. xhtml нали и без това си е xml? Титла: Re: Инструмент за конвертиране на (x)html към xml Публикувано от: clovenhoof в Oct 11, 2011, 12:16 Искам от html-a да извлека данни които да вкарам в база.
Тегля с curl и го конвертирам до xhtml с това ($2). Сега всички отворени тагове се затварят, обаче има неща като следното което не е валидно заради Tрябва да е оградено в някакъв таг: Код
Искам да го лоудна като валиден xml и XPath заявки да извлека данните които ми трябват. ПП: Май и това създава проблеми: Код
То се добавя след като се конверира до xhtml. ПП2: Резултантния xml просто трябва да е валиден и да може да се парсва. Аз ползвам DOM. Титла: Re: Инструмент за конвертиране на (x)html към xml Публикувано от: Naka в Oct 11, 2011, 14:21 следното което не е валидно заради Tрябва да е оградено в някакъв таг: Ами изглежда вярно. Би трябвало да не е обградено в таг и да може да се използва тази ескейп кодове трябва да са описани във файла http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ако нещо го няма описано там ще дава грешка в парсването, обаче като го разгледах има и още файлове http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent и вътре в xhtml-lat1.ent си има Код: <!ENTITY nbsp " "> <!-- no-break space = non-breaking space, т.е. би трябвало да се парсва правилно. Нещо не се чете както трябва, нито пък се взима под внимание... Не че ги разбирам тези *dtd, ама такива са симптомите.... Що не опиташ да го свалиш въпросното dtd локално (както и допълнителните файлове) и да промениш на # <!DOCTYPE html SYSTEM "xhtml1-transitional.dtd"> Титла: Re: Инструмент за конвертиране на (x)html към xml Публикувано от: clovenhoof в Oct 11, 2011, 15:26 Да. Вместо   трябва да се ползва  .
Аз обаче реших кардинално проблема като просто махнах <!DOCTYPE html ...> и всички срещания на   други подобни. Все пак искам само да извлека инфо от html. Вече си се парсва екстра :) Мерси за съдействието! |