プロが教えるわが家の防犯対策術!

VB6.0でDOMを使用して下記のSAMPLE.xmlより編集者以下のノードを削除してSAMPLE01.xmlとして保存したいのですがやり方がわかりません。
よろしくお願いします。

【SAMPLE.xml】
<?xml version='1.0' encoding="UTF-8" ?>
<書籍情報>
 <著者 id="00001">
  <名前>磯野カツオ</名前>
  <性別>男性</性別>
 </著者>
 <編集者 id="10001">
  <名前>磯野波平</名前>
  <性別>男性</性別>
 </著者>
</書籍情報>

【VB6.0】
Dim xmlDocument As New MSXML2.DOMDocument

If Not xmlDocument.Load("SAMPLE.xml") Then
  MsgBox "XML Read Error!!!"
  Exit Function
End If

'*********************************************************
' ※ここにどのようにコーディングしたらいいのでしょうか?
'*********************************************************

Call xmlDocument.Save("SAMPLE01.xml")

A 回答 (1件)

削除したいノードを特定して そのノードの親オブジェクトを取得


親オブジェクトのremoveChildメソッドで削除といった具合です

dim oNodeList as IXMLDOMNodeList
Dim oNode as IXMLDOMNode
dim oParent as IXMLDOMNode

Set oNodeList = xmlDocument.getElementsByTagName("編集者")
' 特定したノードのチェックを行う ... たとえばID属性など
Set oNode = oNodeList(0).childNodes(0).parentNode
Set oParent = oNode.parentNode

oParent.removeChild oNode

といった具合でしょう ...
    • good
    • 1
この回答へのお礼

教えて頂いたやり方でバッチリ出来ました!
ありがとうございました。

お礼日時:2007/01/09 22:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!