Подскажите, как в .net лучше всего работать с html документами. Надо одни таги на другие заменить, хитрым образом, никак не могу найти классы для работы с HTML.
Здравствуйте, Azec, Вы писали:
A>Подскажите, как в .net лучше всего работать с html документами. Надо одни таги на другие заменить, хитрым образом, никак не могу найти классы для работы с HTML.
HTML не является подмножеством XML и в общем случае XML-парсерами не прочитается. Да и регулярными выражениями парсить его не выйдет именно в силу их регулярности. Разве что просто теги заменять.
octalforty Shoutbox
HgLab: Mercurial Server and Repository Management for Windows
Здравствуйте, _FRED_, Вы писали:
_FR>Здравствуйте, Azec, Вы писали:
A>>Подскажите, как в .net лучше всего работать с html документами. Надо одни таги на другие заменить, хитрым образом, никак не могу найти классы для работы с HTML.
_FR>SgmlReader
_FRED_ как всегда Царь! Спасибо!
Здравствуйте, Ziggi111, Вы писали:
A>>>Подскажите, как в .net лучше всего работать с html документами. Надо одни таги на другие заменить, хитрым образом, никак не могу найти классы для работы с HTML. _FR>>SgmlReader Z>_FRED_ как всегда Царь! Спасибо!
Здравствуйте, Нахлобуч, Вы писали:
Н>HTML не является подмножеством XML и в общем случае XML-парсерами не прочитается.
Валидный XHTML я читал без проблем как XML.
H>Да и регулярными выражениями парсить его не выйдет именно в силу их регулярности. Разве что просто теги заменять.
Автору и нужно как раз теги заменять — тут никаких проблем нет.
H>>Да и регулярными выражениями парсить его не выйдет именно в силу их регулярности. Разве что просто теги заменять. MC>Автору и нужно как раз теги заменять — тут никаких проблем нет.
А как быть с CDATA? Или в HTML их нельзя использовать? Не помню уже.
Здравствуйте, MozgC, Вы писали:
MC>Здравствуйте, Нахлобуч, Вы писали:
Н>>HTML не является подмножеством XML и в общем случае XML-парсерами не прочитается. MC>Валидный XHTML я читал без проблем как XML.
A>Подскажите, как в .net лучше всего работать с html документами. Надо одни таги на другие заменить, хитрым образом, никак не могу найти классы для работы с HTML.
А их и нету Regexpы можно вполне юзать, но только чётко представлять себе механизм этих регэкспов.
Вот как искать теги: /<(\w+).*?>/ (крайние слэши — это от Perl )
В группу 1 входит чистое название тега. Есессно, закрывающие теги не ищутся. HTML, прямо говоря, та ещё помойка, поэтому надо готовиться к самой безобразной структуре, включая динамически генерируемые жабоскриптом теги.
Здравствуйте, Azec, Вы писали:
A>Подскажите, как в .net лучше всего работать с html документами. Надо одни таги на другие заменить, хитрым образом, никак не могу найти классы для работы с HTML.
Вот ещё один свежий проект, причём общественная собственность — AfterWork HTML Parser.
TIDY вам в помощь, самый простой способ который юзаю:
1) превратить html -> xml
2) по xml ходить с помощью XPath ( а у него функционала выше крыши, фантазии не хватит )
проект TIDY поддерживается W3C, думаю этим всё сказано, есть реализация в виде dll под МастдайОС (Гугл тебе в помощь) вот и подключи её C# и пользуй на здоровье http://www.w3.org/People/Raggett/tidy/
Здравствуйте, _FRED_, Вы писали:
_FR>Здравствуйте, Azec, Вы писали:
A>>Подскажите, как в .net лучше всего работать с html документами. Надо одни таги на другие заменить, хитрым образом, никак не могу найти классы для работы с HTML.
_FR>SgmlReader
Здравствуйте, Azec, Вы писали:
A>Подскажите, как в .net лучше всего работать с html документами. Надо одни таги на другие заменить, хитрым образом, никак не могу найти классы для работы с HTML.