- - PR -
VB2005によるRSS Auto Discoveryの実装について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-09-01 17:33
お世話になります。
現在、VB2005を用いてRSS解析機能を実装したDLLを作成しています。 その機能の中で、『RSS Auto Discovery』の機能を実装する方法について アドバイスを頂けると幸いです。 〜RSS Auto Discovery実装用関数 要件〜 ※処理概要:URLを入力するとそのサイトのコードに含まれるlinkタグを 全て走査し、RSSの指定がある物の一覧を出力する。 引数:検索対象URL 戻値:検索対象URLに含まれるRSSのURL一覧 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 上記の内容を実装方法を調査する中で、HTMLのコードをString型の文字列に 展開してゴリゴリと判別用の関数をコーディングする事も考えたのですが、 HTMLのコードをHTMLDocumentオブジェクトで取得をし、GetElementsByTagName関数を 用いれば思った通りのデータが取得できるのではないかと考え、以下のサイトの ソースサンプルを用いてテストプログラムを実装してみました。 http://www.microsoft.com/japan/msdn/thisweek/300x10/Phase3/WebBrowser/vb.aspx サンプルソースにボタンを1つ加え、ボタンのクリックイベントに ********************************** Private Sub btnDoc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDoc.Click Dim myHtmlElementCollection As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("link") Dim intCnt As Integer For intCnt = 0 To myHtmlElementCollection.Count - 1 《データ取得処理》 Next ********************************** この様な処理を加えた所、自分の思った様なデータが取得出来ました。 なので、以下の様な関数をDLLに作成した所、【 wb.Navigate(pstrURL) 】の 実行で、出来ると思われたDocumentオブジェクトがnothingになってしまい、 思う様にデータが取得出来ませんでした。 ********************************** ' linkタグの一覧取得関数 Public Function Get_Link_Rel_Data_List(ByVal pstrURL As String) As HtmlElementCollection ' HTMLDocumentで取得をしてlinkタグのデータ一覧が取得したい Dim wb As WebBrowser = New WebBrowser Dim myHTMLDocument As HtmlDocument Dim myHTMLElementCollection As HtmlElementCollection wb.Navigate(pstrURL) myHTMLDocument = wb.Document myHTMLElementCollection = myHTMLDocument.GetElementsByTagName("link") Return myHTMLElementCollection End Function ********************************** この様な方法ではDocumentのオブジェクトは正しく生成されないのでしょうか? また、もしこれ以外の方法でもっと良い方法がありましたらご教授頂けると幸いです。 宜しくお願い致します。 |
1