HtmlAgilityPack を使用しています。次の文字列を使用して HtmlDocument と LoadHtml を作成します。
<select id="foo_Bar" name="foo.Bar"><option selected="selected" value="1">One</option><option value="2">Two</option></select>
これにより、いくつかの予期しないことが行われます。まず、EndTagNotRequired という 2 つのパーサー エラーが発生します。次に、選択ノードには 4 つの子があります。2 つはオプション タグ用で、もう 2 つはオプション タグの内部テキスト用です。最後に、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 が私が望むことを実行できない場合、できることをお勧めできますか?