GNU/Linux >> Belajar Linux >  >> Linux

Cari Atribut XML PowerShell XPath

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.


Linux
  1. Pencarian SQL Global

  2. Menggunakan Perintah ripgrep (rg) di Linux

  3. Menggunakan grep untuk mencari secara terbalik

  1. Cara menemukan File di Linux

  2. Setel ulang posisi pencarian riwayat bash

  3. Tidak ada php_soap.dll di Ubuntu 16

  1. Pencarian Nama File Duplikat yang Tidak Peka huruf besar-kecil?

  2. Cara Parse XML dan Strip Tag menggunakan XPATH Contoh di Linux (Cara Menggabungkan Beberapa Perintah Menggunakan PIPE di Linux)

  3. Menginstal PowerShell di Kali Linux