XMLドキュメントオブジェクトを操作する
ここからはXmlDocumentオブジェクトを操作する方法について説明します。
まずは前準備として、先ほど説明したとおり下記のように入力してXmlDocumentオブジェクトを作成します。
PS> $xmlDoc = [xml]"<root><child1>1</child1><child2>2</child2></root>"

各要素へアクセスする
ここでは各要素にアクセスする方法について説明します。
ルート要素は、変数$xmlDocを直接参照することでアクセス可能です。
PS> $xmlDoc
root ---- root

上記のようにすることで$xmlDocがrootという要素を持っていることを確認できます。
さらに子要素へアクセスするには$xmlDocと root要素の間をドット(.)で連結してアクセスします。$xmlDocの後にドット(.)を入力したら[Tab]キーを押してみてください。Tab補完を使用することができます。これにより要素名を忘れてしまっても補完候補の中から選択することができます。
PS> $xmlDoc.root child1 child2 ----- ----- 1 2

このことからroot要素には2つの子要素child1とchild2があることが確認できます。
また子要素が持つデータへのアクセスは、さらにドット(.)で子要素を連結することでアクセスできます。
PS> $xmlDoc.root.child1 1 PS> $xmlDoc.root.child2 2

次に値の書き換えについて説明します。
XMLデータ型も他の変数と同様の方法で値を書き換える(代入)することができます。例えば root要素の子要素であるchild1に5という値を書き込むには下記のようにします。
PS> $xmlDoc.root.child1 = "5"

ただし、1点注意していただきたいことがあります。代入する値は必ず文字(列)としてください。これはXMLデータ型は文字列以外のデータを自動的に変換しないためです。
もしも間違えて文字列でない値を代入しようとした場合は下記のようにエラーとなります。
PS> $xmlDoc.root.child1 = 5 "child1" を設定できません。XmlNode のプロパティの設定では、値として文字列のみを使用できます。 発生場所 行:1 文字:14 + $xmlDoc.root.d <<<< ata1 = 5

