HtmlAgility ParseErrorsプロパティ

html-agility-pack

質問

HtmlAgilityライブラリの修正にはどのようなエラーがありますか?私は自分の経験から、欠けているタグを閉じることができることを知っています。

<car>Nissan</car

LoadまたはLoadHtmlを実行すると、次のように修正されます。

<car>Nissan</car

私はまた、ParseErrorのコレクションがReason、Streamなどを決定できることも知っています。

エラーのリストはありますか(または自分の経験から教えてください)。エラーを修正するためのHtmlAgilityと、HtmlAgilityで修正できないエラーはどれほど信頼できますか?

人気のある回答

歴史的に、Html Agility PackはHtmlを修正するようには設計されていませんでしたが、このHtmlにエラーがあっても読み込んだり修正したり元に戻すことができます。

つまり、あなたの質問に表示されるようなブラウザによって自動的に修正されるエラーを修正するということです。エラーのリストは実験的に決定されており、ソースを参照してその情報を深く理解することができます。それは、実際には2000年から2001年にかけて設計されているため、その領域では物事が変化している可能性があります:-)

ParseErrorsコレクションには、コード付きのHtmlParseErrorオブジェクトが含まれます。コードは文書化された列挙型です:

    /// A tag was not closed.
    TagNotClosed,

    /// A tag was not opened.
    TagNotOpened,

    /// There is a charset mismatch between stream and declared (META) encoding.
    CharsetMismatch,

    /// An end tag was not required.
    EndTagNotRequired,

    /// An end tag is invalid at this position.
    EndTagInvalidHere

また、 OptionFixNestedTagsプロパティ(デフォルト値はfalse)があり、ネストエラーが検出されたときにLI、TR、TH、TDタグを修正することができます。これは、必要な終了TDのすべてがなくても終了TRを検出すると、自動的に閉じられることを意味します。繰り返しますが、これはまさにブラウザーが不正な形式のHTMLで行うことです。




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