Sabtu, 08 Agustus 2020

Updating XML Files dengan PowerShell

Bayangin kamu punya file file.xml kayak gini:

<?xml version="1.0" encoding="UTF-8"?>
<data>
  <item name="Item 1" id="0" />
  <item name="Item 2" id="1001" />
  <item name="Item 3" id="0" />
  <item name="Item 4" id="1002" />
  <item name="Item 5" id="1005" />
  <item name="Item 6" id="0" />
</data>

Kamu pengen ganti semua id="0" jadi angka incremental. Di PowerShell, gampang banget:

$xml = New-Object xml
$xml.Load("$PWD\file.xml")
$i = 2001
foreach ($item in $xml.data.item) {
    if ($item.id -eq 0) {
        $item.id = [string]$i
        $i++
    }
}
$xml.Save("$PWD\updated.xml")

Hasilnya, updated.xml bakal jadi kayak gini:

<?xml version="1.0" encoding="UTF-8"?>
<data>
  <item name="Item 1" id="2001" />
  <item name="Item 2" id="1001" />
  <item name="Item 3" id="2002" />
  <item name="Item 4" id="1002" />
  <item name="Item 5" id="1005" />
  <item name="Item 6" id="2003" />
</data>

Mudah, cepat, nggak pake ribet

<< Beranda