C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.69867 の関連記事表示

<< 0 >>
■69867  Re[2]: ASP.NETでのWEBのAPIにおけるXMLの取得について
□投稿者/ kazu -(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
記事No.69859 のレス /過去ログ119より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -