■69852 / inTopicNo.1) |
XMLの取得について |
□投稿者/ kazu (2回)-(2014/02/02(Sun) 23:44:41)
|
分類:[ASP.NET (VB)]
2014/02/02(Sun) 23:49:58 編集(投稿者) 2014/02/02(Sun) 23:49:56 編集(投稿者) 2014/02/02(Sun) 23:49:12 編集(投稿者) 2014/02/02(Sun) 23:46:37 編集(投稿者) 2014/02/02(Sun) 23:45:22 編集(投稿者) 2014/02/02(Sun) 23:45:20 編集(投稿者)
1週間ほど前からASP.NET(VB)を勉強し始めました。WEBのAPIを利用したいと思っています。初心者ながら難しい事から始め、そして質問する形でご迷惑をお掛けしまします。是非、宜しくお願いします。
以下のコードでXMLのデータを取得しようとしました。ISBNのデータから取得しているので1件だけの取得です。
Dim xmldoc As New XmlDocument() Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(xmldoc.NameTable) nsmgr.AddNamespace("dc", "http://purl.org/dc/elements/1.1/") Dim nsmgr2 As XmlNamespaceManager = New XmlNamespaceManager(xmldoc.NameTable) nsmgr2.AddNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance") Dim nsmgr3 As XmlNamespaceManager = New XmlNamespaceManager(xmldoc.NameTable) nsmgr3.AddNamespace("dcndl", "http://ndl.go.jp/dcndl/terms/") xmldoc.Load("http://iss.ndl.go.jp/api/opensearch?isbn=9784062812016") Dim d(1) As String Dim list As XmlNodeList Dim node As XmlNode
list = xmldoc.SelectNodes("/rss/channel/item/dc:subject/@dcndl:NDLC", nsmgr) For Each node In list d(1) = node.InnerText TextBox11.Text = d(1) Next
>list = xmldoc.SelectNodes("/rss/channel/item/dc:subject/@dcndl:NDLC", nsmgr) ここに書いていますように、/dc:subject/@dcndl:NDLCを定義する為に、nsmgrを用意しました。ですが、nsmgr2、nsmgr3を同時に使う方法が分からずエラーが出ます。
以下、取得を希望しているXMLです。 <dcterms:issued xsi:type="dcterms:W3CDTF">2008</dcterms:issued> <dc:identifier xsi:type="dcndl:ISBN">9784062812016</dc:identifier> <dc:identifier xsi:type="dcndl:JPNO">21436136</dc:identifier> <dc:subject>Marie Antoinette, 1755-1793</dc:subject> <dc:subject>Fersen, Hans Axel von, greve, 1755-1810</dc:subject> <dc:subject xsi:type="dcndl:NDLC">GK465</dc:subject> <dc:subject xsi:type="dcndl:NDC9">289.3</dc:subject> <dcterms:description>肖像あり</dcterms:description> <dcterms:description>年表あり</dcterms:description> <dcterms:description>文献あり</dcterms:description>
NDLCとNDC9を取得したいのですが、色々試したのですが上手く行きませんでした。ネットで色々調べて見て該当するサンプルを見て試したのですが、どうしてもダメでした。藁をも掴む思いです。是非、ご教授下さい。また、何かヒントでも良いので是非、宜しく願いします。私のような初心者が専門の掲示板を利用して申し訳ないと思いますが、是非、宜しくお願いします。
>list = xmldoc.SelectNodes("/rss/channel/item/dc:subject[1]", nsmgr) でも値は取得できたのですが、XMLの構造は、NDLCとNDC9があったりなかったりします・・・
|
|