HtmlAgilityPack無効なマークアップ

c# html html-agility-pack

質問

私は、codeplexからHtmlAgilityPackを使用しています。私はそれに単純な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>

したがって、オプションの終了タグがありません。私は設定を欠いているか、この間違った使い方ですか?

受け入れられた回答

私はこれをソースのHtmlNode.csの92行目をコメントアウトして修正し、魅力的に機能しました。

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

この質問に答えを見つけました


人気のある回答

HTMLでは、タグに終了タグはありません。

XHTMLでは、タグを適切に閉じなければなりません。

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

「XHTMLやXMLへの遵守もありません」 - HTML Agility Pack

これはなぜでしょうか?私の推測では、タグがオプションの場合、Agility Packはそのタグを残すことになります。お役に立てれば!



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow