VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2006/03/04(Sat) 01:05
投稿者cum
Eメール
URL
タイトルVB6:msxml3 removeChildで複数のノード削除

初めまして。VB始めて3ヶ月のcumと申します。
今VB6でXMLを読み込み、指定したデータ(複数)を消すモジュールを
作成しています。removeChildを使用して
ひとつのノードを消す事はできたのですが、
立て続けに2つノードを消そうとすると、
二つめを消す時にエラーがでてしまい困っています。

サンプルを以下のような感じで作っています。
消したいデータはid="1",id="2"です

★★C:\test.xml★★
<?xml version="1.0" encoding="UTF-8"?>
<List>
    <test id="1">test1</test>
    <test id="2">test2</test>
    <test id="3">test3</test>
</List>


★★VB★★
Dim domData As DOMDocument30
Dim nodeData As IXMLDOMNode

Set nodeData = New DOMDocument30

'C:\test.xmlのデータ読み込み
domData.Load("C:\test.xml")

Set nodeData= domData.documentElement()

'↓removeChildを使用してid=1,id=2を削除したい
Set nodeData=nodeData.removeChild(nodeData.childNodes(0))
Set nodeData=nodeData.removeChild(nodeData.childNodes(1))
'↑一つ目消去前にあったnodeData.childNodes(1)は
'二つ目を消す時Nothingの状態になる。

’データを保存
domData.save("C:\test.xml")

初心者ゆえ見苦しいコードかもしれませんが
どうぞ宜しくお願い致します。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -