Я использую HtmlAgilityPack. Я создаю HtmlDocument и LoadHtml со следующей строкой:
<select id="foo_Bar" name="foo.Bar"><option selected="selected" value="1">One</option><option value="2">Two</option></select>
Это делает некоторые неожиданные вещи. Во-первых, он дает две ошибки парсера, EndTagNotRequired. Во-вторых, выбор node имеет 4 детей - два для тегов параметров и еще два для внутреннего текста тегов параметров. Наконец, OuterHtml выглядит следующим образом:
<select id="foo_Bar" name="foo.Bar"><option selected="selected" value="1">One<option value="2">Two</select>
Итак, в основном, я решаю, чтобы оставить закрывающие теги в параметрах. Оставьте на минутку, нужно ли это правильно и желательно сделать это. Я использую HtmlAgilityPack для проверки кода генерации HTML, поэтому я не хочу, чтобы он принимал какое-либо решение для меня или давал какие-либо ошибки, если HTML не искажен. Есть ли способ заставить его вести себя так, как я хочу? Я попытался установить некоторые параметры для HtmlDocument, в частности:
doc.OptionAutoCloseOnEnd = false;
doc.OptionCheckSyntax = false;
doc.OptionFixNestedTags = false;
Это не работает. Если HtmlAgilityPack не может делать то, что я хочу, можете ли вы порекомендовать что-то, что может?