HIRO's.NET

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

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

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

HIRO's.NET RSSHIRO's.NET RSS


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

HOME > C# 2005 Tips > XML Tips メニュー> DOM Tips メニュー

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

UPDATE:2006/07/30 

<< 前のTips  次のTips >>

 


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

 
サンプル1
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();

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

//ルート要素を取得する
System.Xml.XmlElement rootElement = xmlDoc.DocumentElement;

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

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

    //"zip"タグを"ZIP-CODE"タグに置換する
    nodelist.Item(0).ParentNode.ReplaceChild(newRoot, nodelist.Item(0));
}

//ファイルに保存する
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>