Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отпарсить html-страницу

445
18 мая 2015 года
Charley
176 / / 16.08.2011
Здравствуйте, возникла задача отпарсить html. Конкретно, взять весь текст, который находится между тегами, кроме заголовка. Нужно написать регулярную строку.
Код:
string text = "<html><head>Заголовок страницы</head>\r\n"+
             "<body><p>Certificate Subject</p>\r\n"+
                     "дальше код,\* страницы бла-бла-бла?!\r\n"+
                     "<p>Certificate Issuer</p>rn"+
                     "дальше код bla@mail.com страницы\ бла-бла-бла\r\n"+
                         "</body></html>";
            Regex regex = new Regex(@">[a-zA-ZА-Яа-я0-9]+<"); //здесь нужно изменить регулярку
            Match match = regex.Match(text);
            string Out = "";
            while (match.Success)
            {
                Out += match.Value + " ";
                match = match.NextMatch();
            }
            MessageBox.Show(Out);
Мне нужно чтобы показал: "Certificate Subject дальше код,\* страницы бла-бла-бла?! Certificate Issuer дальше код bla@mail.com страницы\ бла-бла-бла"
445
20 мая 2015 года
Charley
176 / / 16.08.2011
Ответ:
Код:
SourcePage = SourcePage.Replace("body", "№");//заменяем тег body на любой символ,которого нет в html
                Regex regex = new Regex(@"№[^№]*№");// см. http://habrahabr.ru/post/55766/
                Match match = regex.Match(SourcePage);
                string Out = "";
                if (match.Success)
                {
                    Out += match.Value + " ";
                }
                SourcePage = Out;
               
                regex = new Regex(@">([^<])+"); // выделяет >текст
                match = regex.Match(SourcePage);
                Out = "";
                while (match.Success)
                {
                    Out += match.Value + " ";
                    match = match.NextMatch();
                }
                Out = Out.Replace(">", "");

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог