HtmlAgilityPack неверная разметка - PullRequest
       6

HtmlAgilityPack неверная разметка

1 голос
/ 16 сентября 2011

Я использую HtmlAgilityPack от codeplex. Когда я передаю в него простую строку html, а затем возвращаю полученный html, обрезает метки.

Пример:

string html = "<select><option>test</option></select>";
HtmlDocument document = new HtmlDocument();
document.LoadHtml(html);

var result = d.DocumentNode.OuterHtml;

// result gives me:
<select><option>test</select>

Таким образом, закрывающий тег для опции отсутствует. Я пропустил настройку или использовал это неправильно?

Ответы [ 2 ]

4 голосов
/ 16 сентября 2011

Я исправил это, закомментировав строку 92 файла HtmlNode.cs в исходном коде, скомпилированную и работающую как чудо.

ElementsFlags.Add("option", HtmlElementFlag.Empty); // comment this out

Нашел ответ на этот вопрос

0 голосов
/ 16 сентября 2011

В HTML у тега нет конечного тега.

В XHTML тег должен быть надлежащим образом закрыт.

http://www.w3schools.com/tags/tag_option.asp

"Также нет соблюдения XHTMLили XML "- HTML Agility Pack .

Это может быть почему?Я предполагаю, что если тег является необязательным, пакет Agility Pack отключит его.Надеюсь, это поможет!

...