問題タブ [anglesharp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - AngleSharp でノードと親ノードを選択する方法は?
HtmlAgilityPack で、私はこれを行います
AngleSharp と CSS セレクターを使用してこれを行う方法について何か考えはありますか?
c# - TextContent の空白を保持 (または復元) する
AngleSharp を使用して一部の HTML を処理し、後でマイニングするために要素のテキスト コンテンツを抽出すると、AngleSharp が HTML タグを取り除く方法に問題が発生しました。たとえば、次のような HTML があります (改行とタブを除く)。
ここでの問題は、次を取得したときですTextContent
。
次のようになります。
単語action
とTypical
は空白なしでくっつけられています (それらの間にあるのは html タグだけであるため)。action.Typical
これは、2 つの単語ではなく 1 つの単語として認識されるため、テキスト コンテンツをトークン化する私の努力を台無しにしています。
もちろん、検索と置換 (おそらく正規表現を使用) を実行すること(\S)\.(\S)
も$1. $2
できます。とにかく、それ自体ではあまり役に立たない可能性があります)。複数のドットを含む単語を除外することはできますが、Web アドレスが( なしで) として表示されるか、または のようなメール アドレスが表示される場合があります。www.somecompany.com
www
somecompany
com
www
com
somecompany.com
www
somebody@somecompany.com
これを回避する堅牢な方法はありますか?タグが削除された後、少なくとも 1 つのスペースを保持するには?
c# - AngleSharp がインターリーブされたテキストの TextNodes を生成しないのはなぜですか?
これまでのところ、AngleSharp ライブラリを使用して HTML を解析しようとしています。次の HTML を解析したいシナリオに出くわしました。
もちろん、この HTML 部分には親要素などを囲んでいますが、この HTML 部分の解析済み要素のリストは次のようになります。
- Htmlアンカー要素
- HtmlBoldElement
- HtmlBreakRow要素
要素間のテキストを効果的にスキップします。このテキストを入手するにはどうすればよいですか? AngleSharp がこれらのパーツの TextNodes を生成すると思いますか?
親の完全な TextContent を取得することは、私がやりたいことではないことに注意してください。なぜなら、何が何であるかを知るために要素の構造が実際に必要だからです。
c# - RegExを使用してHTML / XMLノードを見つける
私は多数の HTML ドキュメントを解析しており、それぞれの必要に応じて英国の住所を抽出しようとしています。そのために、AngleSharp で HTML を解析し、正規表現に一致する TextContent を持つノードを探しています。
html
これは、body
、p
要素の 3 つの結果を返します。私が返したい唯一の要素は p 要素です。これは、innerText が正規表現に正しく一致しているためです。ページに複数の一致がある場合もあるため、最後の結果を返すことはできません。その要素のテキスト (子ノードではない) が正規表現と一致する要素を返すだけです。
編集
ドキュメント構造や、郵便番号が含まれるタグさえも事前に知らないため、正規表現を使用しています。結果が得られたら、dom をトラバースして残りのアドレスを取得することを計画しているので、ドキュメントを文字列として扱いたくないだけです
anglesharp - Anglesharp は一重引用符を二重引用符に変換しますか?
AngleSharp は一重引用符を二重引用符に変換するようです。これは本当ですか?もしそうなら、リクエストから JSON データを取得できることに影響します。json オブジェクトにラップされた html を返すコントローラーを呼び出しています。HTML の一部には、一重引用符を使用した属性があります。OpenAsync メソッドを呼び出した後、結果のドキュメントはそれらを二重引用符に変換します。そのため、Newtonsoft.Json を使用すると、それらに基づいて逆シリアル化が試みられます。構成設定を通じてそれが起こらないようにする方法はありますか?
c# - AngleSharp の解析
使用するクラス名または ID がない場合、解析に AngleSharp を使用する例は多くありません。
HTML
<a>
title = Bing のタグから href を見つけたい
Python BeautifulSoup では、私は使用します
次に、 href 属性を取得します
またはjQuery
しかし、AngleSharp の使用に行き詰まっています。次の例 https://github.com/AngleSharp/AngleSharp/wiki/Examples#getting-certain-elements
c#AngleSharp
c# - AngleSharp と XHTML の往復
AngleSharp を使用して XHTML ファイルを解析し、変更を加えてから出力しようとしています。ただし、出力を入力と一致させるにはいくつか問題があります。
XML パーサーと
XMLMarkupFormatter
または のいずれかを使用するとHtmlMarkupFormatter
、自己終了タグ (すべてが<img></img>
) も XML 宣言も取得されません。HTML パーサーを使用すると、
HTMLMarkupFormatter
XML の無効な自己終了タグ (すべて単に<img>
) が表示され、XML 宣言は表示されません。HTML パーサーを使用すると、
XMLMarkupFormatter
素敵な自己終了タグ (<img />
) と XML 宣言が得られますが、XML 宣言はコメントとして取得され、次のように出力されます。<!-- <?xml version="1.0" encoding="UTF-8"?> -->
これを回避する方法はありますか、それとも自分で書く必要がありMarkupFormatter
ますか?