htmlタグを修正する方法そして、 タグ)とHTMLAgilityPack

c# dom html-agility-pack

質問

私は<div><h1> hello Hi</div> <div>hi </p></div>とhtmlを持っている

必要な出力: <div><h1> hello </h1></div> <div><p>hi </p></div>

HTMLアジリティパックを使用すると、閉鎖タグと開始タグがないため、このような類似の問題を修正できますか?

受け入れられた回答

ライブラリは、あなたが置いた場所にオープニングpを作成するのに十分なインテリジェントではありませんが、欠けているh1を作成するのに十分なインテリジェントです。一般的に、有効なHTMLは常に作成されますが、必ずしも期待するものとは限りません。

したがって、このコード:

        HtmlDocument doc = new HtmlDocument();
        doc.Load(yourhtml);
        doc.Save(Console.Out);

これをダンプします:

<div><h1> hello Hi</h1></div> <div>hi <p></div>

あなたが望むものではありませんが、有効なHTMLです。次のような小さなトリックを追加することもできます:

        HtmlNode.ElementsFlags["p"] = HtmlElementFlag.Closed;
        HtmlDocument doc = new HtmlDocument();
        doc.Load(yourhtml);
        doc.Save(Console.Out);

それはこれをダンプします:

<div><h1> hello Hi</h1></div> <div>hi <p></p></div>

人気のある回答

HtmlAgilityPack.HtmlDocument.LoadHTML(yourhtml)を実行すると、HTMLAgilityPackによって自動的にタグが修正され、次にこれらのタグにアクセスできます: HtmlAgilityPack.HtmlDocument.DocumentNode.OuterHTML



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ