えせシステムソリューションズ : HtmlDocumentのGetAttribute


「Edy」を使ってソニースタイルでカシコクお買い物 icon

HtmlDocumentのGetAttribute

WebBrowswerが表示するhtml中のリンクを取得して
独自に処理をしようとする時、HtmlDocumentから
特定のHtmlElementを抜き出して、処理をする必要がある。

指定されたポイントからエレメントを特定できたりする。
結構便利だ。右クリックされた時にクリックされたリンクを・・・
という処理をしたい時に

HtmlElement el = Document.GetElementFromPoint(e.Location);
(DocumentはWebBrowser.Document eはMouseEventArgs)

すれば簡単に取れる。そのHtmlElementが

<a href="http://www.example.com">Hoge</a>
のようなリンクで、URLを取得したい場合は、
HtmlElement.GetAttributeで取得してやればいい。

string attr = el.GetAttribute("href");

GetAttributeは特定の属性を抜いてくれるのでhref属性を
指定すれば、問題なく取れる。

しかも、<a href="/sample">~</a>という相対パスでも
HtmlElementがきちんと「http://www.example.com/sample
という絶対パスとして返してくれる。

これをHtmlElement.OuterHtml等から取得して文字列操作で
対応しようとすると、相対パス → 絶対パスの変換が必要で 対応が面倒そう。


2009年1月16日 09:36

トラックバック

このエントリーのトラックバックURL:

コメント

コメントを投稿

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


(スタイル用のHTMLタグが使えます)

 [総合]
 [ソフトウェア]
 [ハードウェア]
 [PSP 動画エンコ等]

リンクシェアで報酬ゲット
A8.netエントリー型広告!!
富士通パソコンFMVの直販サイト富士通 WEB MART