Co znamena "velmi rozhozeny"?
S pozdravem
        Ondřej Nekola



2011/2/18 Dušan Rychnovský <[email protected]>:
> Dobrý den.
>
> Vytvářím program (JSE), který zpracovává HTML stránky. Stránku vždy stáhnu z
> webu na disk, vybuduju nad ní DOM Tree a pomocí něj pak provádím různé
> úpravy.
>
> Pro stavbu DOM používám knihovnu "HTML Parser"
> (http://htmlparser.sourceforge.net/), a to z několika důvodů.
>
> 1. Potřebuju zpracovávat běžné webové stránky (tj. stránky s chybami oproti
> XML standardům).
>
> 2. Potřebuju je zpracovávat rychle.
>
> 3. Změny v HTML kódu chci uchovávat i mezi spuštěními programu - potřebuju
> DOM serializovat.
>
> Zjistil jsem, že "HTML Parser" při vytváření stromu nekopíruje textové
> elementy do paměti, ale nějakým způsobem se zřejmě odkazuje na části
> zparsovaného HTML souboru.
>
> Proto pokaždé, když provedu změnu v HTML kódu, uložím na disk (serializuju)
> změněný DOM a přepíšu parsovaný HTML soubor pomocí metody toHtml() třídy
> NodeList (aby si vždy DOM a parsovaná stránka odpovídaly).
>
> Tento postup funguje v pořádku až do té doby, než program vypnu a znovu
> zapnu (tj. zřejmě dokud neproběhne deserializace DOMu). Potom dostávám při
> prvním volání toHtml() dokument velmi rozhozený.
>
> Kontroloval jsem několikrát, jestli se někde v průběhu nedostane dvojice DOM
> - parsovaný soubor do nekonzistentního stavu, ale chybu jsem nenašel.
>
> Takže přemýšlím, jestli vůbec "HTML Parser" takovéto zacházení podporuje
> (dokumentace je dost chudá).
>
> Máte někdo podobné zkušenosti s tímto parserem? Nebo víte o vhodnějším
> parseru pro moje účely (vygooglil jsem i různé jiné parsery, ale vždy se mi
> z nějakého důvodu zdály nevhodné)?
>
> Díky za pomoc,
> Dušan Rychnovský
>
>

Odpovedet emailem