| 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: 16 let
|
|||
0