■69867 / inTopicNo.6) |
Re[2]: ASP.NETでのWEBのAPIにおけるXMLの取得について |
□投稿者/ kazu (10回)-(2014/02/03(Mon) 20:07:55)
|
2014/02/03(Mon) 20:10:55 編集(投稿者)
WebSurfer様! ありがとうございます!
出来ればなんですが・・・ フォームにテキストボックスを配置してタイトル等を入力して取得できるXMLの内容を変えたいと思っていました。それは教えて頂いたやり方で可能でしょうか?
そこで、また懲りずに、VBの方で処理しようと考え接続しているACCESSのテーブルへデータを取得してみたのですが、XMLの先頭のレコードのみ延々と繰り返して取得してしまいました。配列の使用の仕方に問題があると思うのですが、何度やっても解決出来ません。どうか、ご教授ください。宜しくお願いします!以下、余計なものを省略したコードです。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim cn As New OleDbConnection 'OleDbConnectionオブジェクト Dim cmd As New OleDbCommand 'OleDbCommandオブジェクト Dim affectedRows As Integer '更新したレコード数 ' 仮想アプリケーションルートパスを取得 Dim vPath As String = Request.ApplicationPath ' 仮想アプリケーションルートパスの物理パスを取得 Dim path As String = Server.MapPath(vPath) '接続情報 Dim xmldoc As New XmlDocument() Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(xmldoc.NameTable) nsmgr.AddNamespace("dc", "http://purl.org/dc/elements/1.1/") nsmgr.AddNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance") nsmgr.AddNamespace("dcndl", "http://ndl.go.jp/dcndl/terms/") nsmgr.AddNamespace("dcterms", "http://purl.org/dc/terms/") Dim nodelist As XmlNodeList Dim node As XmlNode Dim A() As String Dim i As Long i = 0 xmldoc = New XmlDocument() xmldoc.Load("http://iss.ndl.go.jp/api/opensearch?title=%E3%83%9E%E3%83%AA%E3%83%BC%E3%82%A2%E3%83%B3%E3%83%88%E3%83%AF%E3%83%8D%E3%83%83%E3%83%88&ndc=2")
nodelist = xmldoc.SelectNodes("/rss/channel/item/dc:title", nsmgr) For Each node In nodelist cn.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ path & "\App_Data\toshokan.mdb"
ReDim A(i)
A(i) = node.InnerText 'INSERTコマンド cmd.Connection = cn cmd.CommandText = "INSERT INTO [T_APIデータ取得] " _ & " ([タイトル]) " _ & "VALUES (?)"
'パラメータに値を代入 cmd.Parameters.AddWithValue("[タイトル]", A(i)) '実行 cn.Open() Try affectedRows = cmd.ExecuteNonQuery() Catch ex As Exception Finally cn.Close() End Try i = i + 1 Next
End Sub
|
|