Autor | Zpráva | ||
---|---|---|---|
blizzboz Profil |
#1 · Zasláno: 22. 5. 2010, 23:31:32
Pracujem na aplikácii ktorá sťahuje html súbory a z nich vyberá niektoré dáta a tie potom spracováva. Potreboval by som k tomu html parser, niečo ako MSXML, doteraz som používal MSHTML ale ten parser je pomalý, zataralý a niektoré stránky odmieta spracovať. Napr. u http://zive.cz mi to vyhodí hlášku: Táto stránka predstavuje bližšie neurčené riziko zabezpečenia. neviete o nejakom lepšom HTML parsery pre .NET ?
|
||
martindeveloper Profil |
#2 · Zasláno: 22. 5. 2010, 23:55:58 · Upravil/a: martindeveloper
Tohle vypadá nadějně http://www.majestic12.co.uk/projects/html_parser.php
Ale podle mě, by nebyl zas takový problém si napsat vlastní a ještě si k tomu udělat hezký LINQ přístup :) EDIT: Tak jak koukám, tak to pěkně dlouho neaktualizovali a je to psané pro .NET 2.0 a 1.1. Ale povedlo se mi to zkompilovat v VS 2010 pouze se 3 varováními takže by to mělo fungovat. |
||
blizzboz Profil |
#3 · Zasláno: 23. 5. 2010, 02:25:41 · Upravil/a: blizzboz
martindeveloper:
našiel som ešte elegantnejšie riešenie priamo od MS: SgmlReader Rozšíril som si triedu XmlDocument vlastnou extension metódou: public static void LoadHtml(this XmlDocument document, string html) { Sgml.SgmlReader sgmlReader = new Sgml.SgmlReader(); sgmlReader.DocType = "HTML"; sgmlReader.WhitespaceHandling = WhitespaceHandling.All; sgmlReader.CaseFolding = Sgml.CaseFolding.ToLower; sgmlReader.InputStream = new StringReader(html); document.PreserveWhitespace = true; document.XmlResolver = null; document.Load(sgmlReader); } ktorá mi umožňuje otvoriť hociaký HTML dokument a pracovať s nim ako s XMLkom |
||
Časová prodleva: 14 let
|
0