2017年1月27日

【PowerShell】XMLファイルのデータを書き換える


XMLファイルのデータを書き換えるには次のようにします。

例えば、test.xmlというXMLファイルがあったとします。
ちなみに文字コートはUTF-8とします。
<User>
    <Person>
        <Name>佐藤</Name>
        <Phone>111-222-3333</Phone>
        <Email>sato@nantoka.com</Email>
    </Person>
    <Person>
        <Name>鈴木</Name>
        <Phone>444-555-6666</Phone>
        <Email>suzuki@nantoka.com</Email>
    </Person>
</User>

書き換えて保存

このXMLファイルのデータを書き換えるには次のようにします。
ここでは、佐藤さんの電話番号を「777-888-999」に変更しています。
PS C:\work> [xml]$x = Get-Content .\test.xml -Encoding UTF8
PS C:\work> $person = $x.User.Person[0]
PS C:\work> $person.Phone = "777-888-999"
PS C:\work> $x.Save("C:\work\test.xml")


書き変わったか確認
PS C:\work> Get-Content .\test.xml -Encoding UTF8
<User>
  <Person>
    <Name>佐藤</Name>
    <Phone>777-888-999</Phone>
    <Email>sato@nantoka.com</Email>
  </Person>
  <Person>
    <Name>鈴木</Name>
    <Phone>444-555-6666</Phone>
    <Email>suzuki@nantoka.com</Email>
  </Person>
</User>
「777-888-999」に変更されているのが確認できると思います。




スポンサーリンク