<?xml version="1.0" encoding="UTF-8" ?>
<Dataroot>
<aaa>
<bbb>
<ccc>値1</ccc>
</bbb>
<bbb>
<ccc>値2</ccc>
</bbb>
</aaa>
</Dataroot>
----------------------------------------------------------------
のようなXML文書がある時<ccc></ccc>の値を取り出す場合
----------------------------------------------------------------
Imports System
Imports System.IO
Imports System.Xml
public class Sample
public shared sub Main()
Dim doc as XmlDocument = new XmlDocument()
doc.Load("data.xml") 'XML文書の読み込み
Dim root as XmlElement = doc.DocumentElement
Dim nodeList as XmlNodeList
nodeList = root.SelectNodes("/Dataroot/aaa/bbb")'/cccまでやる方が簡単
Dim node as XmlNode
Dim ccclist() As String = Nothing
for each node in nodeList
ccclist(nodeList.Count) = node.SelectSingleNode("ccc").InnerText '内容の取り出し
next
end sub
end class
としているのですが
ccclist(nodeList.Count) = node.SelectSingleNode("ccc").InnerText '内容の取り出し
この行で
オブジェクト参照がオブジェクト インスタンスに設定されていません。
とエラーがでて困っています。
これはどのように修正すればよろしいでしょうか?
教えてください。お願いします。
No.2ベストアンサー
- 回答日時:
>foreachで配列を作成する場合、
こういうのも何ですが、For eachを使わず素直にFor i as Integer = 0 to nodeList.count - 1をした方が良いと思います。っていうか方法が思いつきません。
>'/cccまでやる方が簡単
とコメントで述べられておられますように/cccをしてしまうのが一番簡単だとも思いますし。
Imports System
Imports System.IO
Imports System.Xml
public class Sample
public shared sub Main()
Dim doc as XmlDocument = new XmlDocument()
doc.Load("data.xml") 'XML文書の読み込み
Dim root as XmlElement = doc.DocumentElement
Dim nodeList as XmlNodeList
nodeList = root.SelectNodes("/Dataroot/aaa/bbb")'/cccまでやる方が簡単
Dim node as XmlNode
Dim ccclist() As String
Redim ccclist(nodeList.Count-1)
for i as Integer = 0 to nodeList.count - 1
ccclist(i) = nodeList.Item(i).SelectSingleNode("ccc").InnerText '内容の取り出し
next
end sub
end class
#GetEnumeratorメソッドとかも面白そうではあるんだが
http://msdn2.microsoft.com/ja-JP/library/system. …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- JavaScript JavaScript|特定URLだった時、特定の要素を変更するコードの書き方を教えてほしいです 2 2023/08/25 21:43
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Functionの戻り値を配列にした...
-
Excel VBAでsub,dimは何の略?
-
xmlの値を配列変数に格納し...
-
三項でたとえば交換って
-
VBA public変数はどのようなこ...
-
sublimit textっていうエディタ...
-
C#のループでtextboxに値を入れ...
-
[VB6] SQLの作成について
-
visual basic初心者です。 visu...
-
Pythonのre.split()の正規表現...
-
プログラムの素朴な質問です 分...
-
VBSのプログラム
-
リストビューの列ヘッダーの幅...
-
エクセルVBAでテキストボッ...
-
レコードセットにnullの場合
-
二点の座標から距離や角度を求...
-
VB.NETでのイベントの途中終了
-
ユーザーフォームへのデータ入...
-
GetNextWindowがDLLファイルUse...
-
C言語のサフィックスについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三項でたとえば交換って
-
Functionの戻り値を配列にした...
-
Excel VBAでsub,dimは何の略?
-
xmlの値を配列変数に格納し...
-
VB6で配列を引数にするときの2...
-
配列に複数の値があるか簡潔に...
-
2次元配列のデータをファイルへ...
-
xmlの値を配列に格納したいんで...
-
ExcelVBAで他のファイル(proje...
-
VBA public変数はどのようなこ...
-
C#のループでtextboxに値を入れ...
-
VBAでcallで呼び出したsubを終...
-
他のフォームから別のフォーム...
-
C言語のサフィックスについて
-
レコードセットにnullの場合
-
エクセルVBAでテキストボッ...
-
プログラムの素朴な質問です 分...
-
VB.NETでのイベントの途中終了
-
sublimit textっていうエディタ...
-
アクセスできない保護レベルエ...
おすすめ情報