HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


VB.NET 2005の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > VB.NET 2005 Tips > XML Tips メニュー> DOM Tips メニュー

17.指定した要素を新しい要素で置換する

UPDATE:2006/07/30 

<< 前のTips  次のTips >>

 


 指定した要素を新しい要素で置換するには、ReplaceChildメソッドを使用します。サンプルでは読み込んだXMLドキュメントのルート要素"zip"を、新しい要素"ZIP-CODE"に置き換えています。

 
サンプル1
Dim xmlDoc As New System.Xml.XmlDocument

'XMLファイルを読み込む
xmlDoc.Load("C:\Work\Test.xml")

'ルート要素を取得する
Dim rootElement As System.Xml.XmlElement = xmlDoc.DocumentElement

'ルート要素の子要素である"zip"を取得する
Dim nodelist As System.Xml.XmlNodeList = rootElement.GetElementsByTagName("zip")

'指定した"zip"タグが存在するか?
If nodelist.Count > 0 Then
    '新しいタグ"ZIP-CODE"を作成する
    Dim newRoot As System.Xml.XmlElement = xmlDoc.DocumentElement
    newRoot = xmlDoc.CreateElement("ZIP-CODE")
    newRoot.InnerText = "765-4321"

    '"zip"タグを"ZIP-CODE"タグに置換する
    nodelist.Item(0).ParentNode.ReplaceChild(newRoot, nodelist.Item(0))
End If

'ファイルに保存する
xmlDoc.Save("C:\Work\Test.xml")


 
サンプル2
'置換前のXMlファイル
<?xml version="1.0" encoding="utf-8"?>
<personal_data>
    <zip>123-4567</zip>
    <address>東京都内</address>
    <name>HIRO</name>
</personal_data>

'置換後のXMLファイル
<?xml version="1.0" encoding="utf-8"?>
<personal_data>
  <ZIP-CODE>765-4321</ZIP-CODE>
  <address>東京都内</address>
  <name>HIRO</name>
</personal_data>