Как сравнить 2 строки HTML - PullRequest
       10

Как сравнить 2 строки HTML

0 голосов
/ 25 февраля 2012

Как я могу сравнить 2 строки HTML на равенство? Я пробовал кое-что с пакетом Agility, но у него нет метода сравнения или чего-то подобного.

Для справки .NET Framework не работает.

[EDIT]

Сравнивая 2 строки html, я имею в виду innerHTML веб-страницы.

[/ EDIT]

Пример:

Например, нажмите правую кнопку мыши на этой странице и нажмите «просмотреть источник страницы» (я использую firefox). Поместите это содержимое в переменную string.

Теперь сделайте это снова, точно так же, как вы делали это раньше, но выберите другую страницу и создайте новую переменную string.

Когда вы закончите, сравните эти 2 strings друг с другом.

Ответы [ 2 ]

1 голос
/ 25 февраля 2012

Все идет к делу, если вы на самом деле сравниваете действительный XML.

HTML является производным языком от XML, и если оба string являются действительными XML, вы всегда можете создать два XMLDocument и сравнивайте их одинаково.

Если есть проблема с вашим синтаксисом HTML, то вам нужен другой алгоритм для сравнения, такой как удаление всех двойных пробелов, удаление всех пробелов между тегами и сравнение их ...

конечно, вам нужно выработать правильное представление, поскольку <body style="padding:2em;color:white;"> точно так же, как <body style="color:white;padding:2em">, как и в HTML ...

0 голосов
/ 25 февраля 2012

Предполагая, что вас интересует только текстовое содержимое элементов HTML (то есть, что между ними), просто сравните свойства .InnerText двух элементов - это возвращает строку, содержащую всю конкатенацию всех "#text"."узлы всех дочерних узлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...