Автор Тема: Инструмент за конвертиране на (x)html към xml  (Прочетена 1173 пъти)

clovenhoof

  • Напреднали
  • *****
  • Публикации: 534
  • Distribution: Mac OSX 10.9.2
    • Профил
Търся open-source вариант на подобно тулче.

Идеята е въвеждам url на даден сайт и програмата: прави download на страницата в html формат и след това конвертира в xml.

В краен случай може само за конвертиране от xhtml към xml - също ще е ОК.

ПП: Аз намерих ето това, но е платено с 30 дневен срок.
Активен

We are just a moment in time
A blink of an eye
A dream for the blind
Visions from a dying brain

Naka

  • Напреднали
  • *****
  • Публикации: 3467
    • Профил
Ако ти се занимава с xslt >:D


Код:
xsltproc  tvoiat_filtar.xslt  some_file.xhtml  >  out.xml

xsltproc го има във всяка линукс дистрибуция... обаче трябва и да си напишеш на xslt твоят собствен филтър....
Ако втори път ми се наложи да пиша нещо на xslt, сериозно ще се замисля..  :'( Много му е крива логиката и синтаксиса.. Може да се окаже, че да си напишеш свой собствен скрипт с някой конвенционален език.. (perl,php...) - ще стане много по-лесно и ефективно.

Какъв трябва да бъде резултатният xml? За какво ще служи.  xhtml нали и без това си е xml?



« Последна редакция: Oct 11, 2011, 11:31 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

clovenhoof

  • Напреднали
  • *****
  • Публикации: 534
  • Distribution: Mac OSX 10.9.2
    • Профил
Искам от html-a да извлека данни които да вкарам в база.

Тегля с curl и го конвертирам до xhtml с това.

Сега всички отворени тагове се затварят, обаче има неща като следното което не е валидно заради   Tрябва да е оградено в някакъв таг:

Код
GeSHi (XML):
  1.                    <td>
  2.                      &nbsp; <script src="http://..." type="text/javascript" xml:space="preserve"></script>
  3.                    </td>
  4.  

Искам да го лоудна като валиден xml и XPath заявки да извлека данните които ми трябват.


ПП: Май и това създава проблеми:
Код
GeSHi (XML):
  1. <!DOCTYPE html
  2.   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3.   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
  4.  

То се добавя след като се конверира до xhtml.

ПП2: Резултантния xml просто трябва да е валиден и да може да се парсва. Аз ползвам DOM.
« Последна редакция: Oct 11, 2011, 12:20 от clovenhoof »
Активен

We are just a moment in time
A blink of an eye
A dream for the blind
Visions from a dying brain

Naka

  • Напреднали
  • *****
  • Публикации: 3467
    • Профил
следното което не е валидно заради &nbsp; Tрябва да е оградено в някакъв таг:

Ами изглежда вярно. Би трябвало да не е обградено в таг и да може да се използва &nbsp;

тази ескейп кодове трябва да са описани във файла 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   "&#160;"> <!-- no-break space = non-breaking space,
                                  U+00A0 ISOnum -->

т.е. би трябвало да се парсва правилно.

Нещо не се чете както трябва, нито пък се взима под внимание... Не че ги разбирам тези *dtd, ама такива са симптомите....

Що не опиташ да го свалиш въпросното dtd локално (както и допълнителните файлове) и да промениш на
#
<!DOCTYPE html SYSTEM "xhtml1-transitional.dtd">
« Последна редакция: Oct 11, 2011, 14:28 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

clovenhoof

  • Напреднали
  • *****
  • Публикации: 534
  • Distribution: Mac OSX 10.9.2
    • Профил
Да. Вместо &nbsp трябва да се ползва &#160;.
Аз обаче реших кардинално проблема като просто махнах <!DOCTYPE html ...> и всички срещания на &nbsp други подобни.
Все пак искам само да извлека инфо от html.

Вече си се парсва екстра :)

Мерси за съдействието!
Активен

We are just a moment in time
A blink of an eye
A dream for the blind
Visions from a dying brain

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Вмъкване на Перл в HTML
Web development
Rooted 6 5025 Последна публикация Jan 03, 2006, 00:34
от
Как да направим HTML страница да не работи под IE
Хумор
karaman 5 5016 Последна публикация Feb 20, 2006, 11:13
от astronom
проблем с html кирилицата
Web development
angie_bg 3 5678 Последна публикация Nov 26, 2006, 09:15
от angie_bg
субтитри с html тагове...?
Настройка на програми
_NetCutter_ 3 3259 Последна публикация Dec 16, 2006, 12:17
от karaman
Html help
Web development
stevebradata 2 1323 Последна публикация Jun 17, 2007, 09:23
от stevebradata