Если я хочу из title на html страничке получить текст что лучше Regex или ParseByXpath?

  • Автор темы Автор темы BAZAg
  • Дата начала Дата начала

BAZAg

Client
Регистрация
08.11.2015
Сообщения
2 375
Реакции
2 782
Баллы
113
Если есть у меня такой код:
HTML:
Развернуть Свернуть Копировать
<html>
    <head>
        <title>
        123456
        </title>
    </head>
    <body>
    </body>
</html>

Я хочу получить содержимое тега title.
Что будет работать быстрее, правильнее, универсальнее:
C#:
Развернуть Свернуть Копировать
return ZennoPoster.Parser.ParseByXpath(html,"//title","innertext").ToList().First();
или
C#:
Развернуть Свернуть Копировать
return Regex.Match(html, @"(?<=<title>)[\w\W]*?(?=</title>)").Value;
 
Если есть у меня такой код:
HTML:
Развернуть Свернуть Копировать
<html>
    <head>
        <title>
        123456
        </title>
    </head>
    <body>
    </body>
</html>

Я хочу получить содержимое тега title.
Что будет работать быстрее, правильнее, универсальнее:
C#:
Развернуть Свернуть Копировать
return ZennoPoster.Parser.ParseByXpath(html,"//title","innertext").ToList().First();
или
C#:
Развернуть Свернуть Копировать
return Regex.Match(html, @"(?<=<title>)[\w\W]*?(?=</title>)").Value;
Так как вы работаете со структурой HTML, правильнее будет использовать XPath.

Но на практике много пользователей ZP используют Regex — особенно если нужно быстро получить небольшой фрагмент данных.

По скорости всё зависит от объема обрабатываемого HTML. В большинстве случаев XPath будет более оптимальным вариантом, но если вам удобнее Regex и он корректно решает задачу — можно использовать его.
 
  • Оценить
Реакции: kotouser2024 и BAZAg

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)