Extensible Markup Language (XML) adalah format teks biasa yang digunakan untuk menyimpan data terstruktur. XML ditulis agar dapat dibaca oleh manusia dan mesin.
Dokumen XML sering dimulai dengan deklarasi, seperti yang ditunjukkan di sini:
<?xml version="1.0" encoding="utf-8"?>
Pilih-Xml perintah dapat digunakan untuk mencari dokumen XML menggunakan bahasa query XPath. PowerShell v3 dan yang lebih baru juga menyertakan cmdlet Select-Xml. Cmdlet ini dirancang untuk menemukan teks dalam string XML atau dalam dokumen XML. Secara khusus, ini dirancang untuk mengeksekusi kueri XPath.
Dalam tutorial Powershell tentang XML ini, kita akan membahas cara mencari XML dan mengekstrak node tertentu, dengan mencari atribut XML. Kami akan menggunakan cmdlet pilih-Xml untuk melakukan ini, namun, kueri XPath akan berada pada level atribut. Dengan menggunakan contoh yang diberikan dalam tutorial ini, Anda seharusnya dapat dengan mudah membuat kueri data XML di Powershell dan menggunakan nilai output.
1. Masukkan XML dengan Atribut
Gunakan XML input berikut untuk tutorial ini:
<Details> <department count="10"> <ID>10</ID> <dname>Administration</dname> <manager>200</manager> <location>1700</location> <revenue>77</revenue> </department> <department count="20"> <ID>20</ID> <dname>Marketing</dname> <manager>201</manager> <location>1800</location> <revenue>50</revenue> </department> </Details>
2. Muat XML di PowerShell
Kami akan memuat XML secara langsung di PowerShell seperti yang ditunjukkan pada ilustrasi di bawah ini:
PS C:\> $xml_attributes=@" >> <Details> >> <department count="10"> >> <ID>10</ID> >> <dname>Administration</dname> >> <manager>200</manager> >> <location>1700</location> >> <revenue>77</revenue> >> </department> >> <department count="20"> >> <ID>20</ID> >> <dname>Marketing</dname> >> <manager>201</manager> >> <location>1800</location> >> <revenue>50</revenue> >> </department> >> </Details> >> "@ >> PS C:\>
Variabel xml_attributes berisi data XML yang dapat kita cari dengan menggunakan cmdlet pilih-Xml.
3. Cari XML berdasarkan Atribut di PowerShell – XPath
Jika Anda ingin membuat daftar semua nilai atribut “count” sebagai contoh, Anda dapat melakukannya sesuai perintah di bawah ini.
C:\>powershell Windows PowerShell Copyright (C) 2009 Microsoft Corporation. All rights reserved. PS C:\> Select-Xml -Content $xml_attributes -XPath '//@count' | foreach {$_.node } #text ----- 10 20
Di sini, kami menggunakan '//' untuk langsung menanyakan atribut XML dan menggunakan pernyataan 'foreach' untuk mencetak nilai di Powershell.
4. Mencantumkan Nilai Atribut Pencocokan Node XML – Contoh
Dalam hal ini, persyaratannya adalah membuat daftar semua detail departemen di mana hitungannya cocok dengan 10. Anda dapat melakukannya dengan mudah dengan mencocokkan nilai atribut ke 10 di XPath dan mencetak hasilnya. Perintah Powershell untuk melakukan ini disediakan di bawah ini:
PS C:\> Select-Xml -Content $xml_attributes -XPath '//department[@count="10"]' | foreach {$_.node} count : 10 ID : 10 dname : Administration manager : 200 location : 1700 revenue : 77
Ringkasan
XML mudah digunakan. Ini dapat digunakan untuk konfigurasi dan penyimpanan data. Anda telah melihat cara mengatur dokumen awal secara manual, memuatnya ke dalam shell, dan menghitung elemen-elemennya. XPath dapat digunakan untuk menavigasi atau mencari dokumen XML. PowerShell (dan .NET) menggunakan XPath 1.0.