- - PR -
【VB、XML】指定した属性と、その属性の子属性を削除したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-11-02 13:15
脳味噌筋肉です。
以下のようなXMLファイルを読んで <code> - <HogeRoot> - <HogeChild ID="1"> <grandchild>孫1</grandchild> </HogeChild> - <HogeChild ID="2"> <grandchild>孫2</grandchild> </HogeChild> - <HogeChild ID="3"> <grandchild>孫3</grandchild> </HogeChild> - <HogeChild ID="4"> <grandchild>孫4</grandchild> </HogeChild> - <HogeChild ID="5"> <grandchild>孫5</grandchild> </HogeChild> </HogeRoot> </code> 属性HogeChild ID="5"を指定、その子となる属性の<grandchild>孫5</grandchild>ごと 削除したい、というのが本旨です。 単純に?タグ(この場合HogeChild ID="5")を渡してコールすれば要素を削除してくれる メソッドがあるのではないか・・とタカをくくっていましたが、ありませんでした(TT) 上記の本旨を達成するに踏むべく手順をお教え頂けないでしょうか? RemoveChildというメソッドで | ||||
|
投稿日時: 2004-11-02 13:17
各<HogeChild ID=>のタグの前に-が含まれていますが、これはタイプミスです。
失礼しました。 | ||||
|
投稿日時: 2004-11-02 13:39
Dim node As System.Xml.XmlNode = _
xml_document.DocumentElement.SelectSingleNode( _ <xpath_query>) node.ParentNode.RemoveChild(<node>) 1操作ではなく、2操作になります、ノードをつかむ、消す、です http://www.aspx8.com/teach/list.asp?id=514 漢字なので、英文よりわかりやすいかも。 | ||||
|
投稿日時: 2004-11-02 13:47
MMXさん、レス、感謝です(TT)
SelectSingleNode! こんなメソッドがあるとは。。。ありがとうございます、早速試します。 | ||||
|
投稿日時: 2004-11-02 15:59
その後、以下のようなコードで"HogeChild ID=1"を削除しようと試みました
<code> Dim xDoc As New XmlDocument xDoc.Load("hoge.xml") Dim xPathStr As String = "descendant::HogeChild [@ID='" & "1" & "']" Dim xNode As XmlNode = xDoc.DocumentElement.SelectSingleNode(xPathString) xNode.ParentNode.RemoveChild(xNode) </code> 望む結果である"HogeChild ID=1"が削除されません。情けない(^^; さらに試してみます。。。 |
1