問題タブ [html-agility-pack]
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# - HTML から XHTML への WebBrowser コントロール
私は、エンド ユーザーがさまざまな Web サイトに挿入する HTML コンテンツのセクションを作成するためのインターフェイスの一部として、.NET WebBrowser コントロールを編集モードで使用しています。<p>, <br>, <a href>, <strong>, <ul> <li>...
特定の Web ページの CSS によって決定されるため、タグの上に書式設定を適用できなかったなど、利用可能なタグの非常に削減されたリストがありました。このシステムは、これまでうまく機能してきました。
残念ながら、他のさまざまな Web サイトによる集約のために、xhtml をより大きな xml ドキュメントに入れる必要があります。WebBrowsers の主な問題は、それが生成するリストにあるようです。
これを修正するための適切なコンバーター ライブラリはありますか、それとも WebBrowser コントロールに XHTML を強制的に作成させることはできますか? HTMLAgilityPack を試してみましたが、次のような方法で XHTML に変換されました。
xhtml検証に合格しますが、タグは各アイテムの最後にあるはずなので、彼が適切に設定されているとは思いません。よろしければ、最終的に XML を Web サイトに配置したときに、特定のブラウザーでレンダリングの問題が発生することはありますか?
c# - HTML アジリティ パック
HTMLアジリティパックを使用してHTMLテーブルを解析したい。テーブルから定義済みの列データのみを抽出したいと考えています。
しかし、私は解析と html アジリティ パックに不慣れで、試してみましたが、必要に応じて html アジリティ パックを使用する方法がわかりません。
誰かが知っているなら、可能であれば例を挙げてください
編集 :
決定した列名のデータだけを抽出したい場合のように、html テーブルを解析することはできますか? name、address、phnoの4つの列があるように、名前と住所のデータのみを抽出したい。
html-agility-pack - HTMLAgilityPack ChildNodes インデックスは機能するが、名前付きノードは機能しない
HTMLAgilityPack を使用して XML API 応答を解析しています。API 呼び出しから結果アイテムを選択できます。次に、アイテムをループして、ChildNodes をテーブルに書き込みたいと思います。次のように言って ChildNodes を選択すると:
適切な itemId の結果が得られます。しかし、私がしようとすると:
「参照されたオブジェクトの値は 'Nothing' です」というメッセージが表示されます。
「itemID[1]」、「/itemId[1]」、およびさまざまな文字列を試しました。SelectSingleNode と ChildNodes.Item("itemId").innertext を試しました。機能した唯一のものは、インデックスを使用することです。
インデックスを使用する際の問題は、子要素が結果で省略され、インデックスから外れることがあることです。
私が間違っていることを知っている人はいますか?
c# - HTML アジリティ パック
次のような1つのWebページにhtmlテーブルがあります
HTMLアジリティパックを使用してこのWebページから、列の住所と電話番号のみのデータを抽出したいと思います。つまり、列 address と phoneno があるテーブルを最初に見つけたということです。そのテーブルを見つけた後、その列 address と phoneno のデータを抽出したいのですが、どうすればよいですか?
私はテーブルを手に入れることができます。でもその後どうすればいいのかわからない。
その他のこと:列名を介してテーブルからデータを抽出できることは実現可能です。
c# - HTMLタグのみの引用符を置き換える正規表現
私は次の文字列を持っています:
正規表現を使用して次を返したい:
divのid属性がアポストロフィで囲まれていることに注目してください。
正規表現でこれを行うにはどうすればよいですか?
編集:私はあらゆる状況であらゆるエッジケースを処理するための魔法の弾丸を探していません。HTMLを解析するために正規表現を使用することにうんざりしているはずですが、この特定のケースでは、そして私の特定のニーズのために、正規表現が解決策です...正しい表現を得るのに少し助けが必要です。
編集#2:イェンスは私のための解決策を見つけるのを手伝ってくれましたが、このページにランダムにアクセスする人は誰でも、この解決策の使用について長くそして非常に懸命に考える必要があります。私の場合、これは、処理する文字列のタイプに非常に自信があるために機能します。私は危険とリスクを知っており、あなたがそうすることを確認します。知っているかどうかわからない場合は、おそらくこの方法を知らないので使用すべきではないことを示しています。あなたは警告されました。
c# - Html Agility Pack を使用して、指定されたタグのすべての属性値を取得します
HTMLアジリティパックで「span」タグの「id」属性の値をすべて取得したい。しかし、属性の代わりにタグ自体を取得しました。これがコードです
p>誰かがここで何が悪いのか教えてくれれば幸いです。
c# - HTML ファイルに末尾の「/tr」タグまたは「/td」タグがない場合、HTML Agility Pack はその情報を完全に読み取れません
HTML Agility Pack を使用して HTML コンテンツを解析しています。解析を使用してテーブル情報を抽出しています。できます。しかし、終了の「/tr」タグまたは「/td」タグがない場合、その情報は完全には解析されません (終了の tr タグまたは td タグがありません)。
お気に入り
それで、私は何をすべきですか?
c# - XPath(およびHtmlAgilityPack)を使用してHtmlテーブルからすべてのリンクを選択します
私が達成しようとしているのは、http://、https://、または/で始まるhref属性を持つすべてのリンクを抽出することです。これらのリンクは、特定のクラスのテーブル(tbody> tr> tdなど)内にあります。パス全体がなくても要素だけを指定できると思いましたが、機能していないようです。リンクを選択する行でNullReferenceExceptionが発生します。
XPathに関して、推奨事項やベストプラクティスについてはわかりません。ドキュメントを2回クエリすると、オーバーヘッドが発生しますか?
c# - Xpath を使用して、兄弟のテキストと属性に基づいて要素を選択する
ドキュメントを見ると、目標は最初のテーブルの 2 行目の 2 番目のセルを選択することです。
次の式を作成しました。
ただし、行は返されません。残念ながら、何が悪いのかわかりません。
私には、それは大丈夫に見えます。式は次のようにする必要があります。
私が間違っていることを指摘していただければ幸いです。
サンプル XML ドキュメント:
c# - 最高の HTML tidy pack はどれですか? HTML アジリティ パックに、HTML Web ページを整理するためのオプションはありますか?
HTML表形式の情報を解析するためにhtmlアジリティパックを使用しています。現在、終了タグが欠落しているいくつかの html コンテンツがあり、終了タグが欠落しているため、そのようなページから html アジリティ パックは情報を適切に解析しません。不足している終了タグを挿入するにはどうすればよいですか?それには独自のコードを作成するか、 html tidy packを使用する必要がありますか?
html tidy pack の場合、どのhtml tidy packが最適で、可能であればどのように使用しますか? そして、それがどのようなものであるかよりも自分のコードなら?
最初にhtmlページを整頓してからWebページを解析できるようにするhtmlアジリティパックのオプションはありますか?