a PowerShell számos lehetőséget kínál az XML dokumentumok olvasására, sok kód írása vagy az XPath használata nélkül. Itt van, hogyan lehet elkezdeni.
Az XML manipulálása egyike azoknak a témáknak, amelyek miatt bárki, aki valaha is megtette, megrándul. Ez általában időigényes, nehéz megérteni, és csak egy általános fájdalom a seggét. Messiás XML néhány más nyelven kívül PowerShell igényel lényegében memorizálása Az XML fa, hogy megbizonyosodjon arról, hogy manipulálja a megfelelő csomópontot a megfelelő szinten. Ráadásul valószínűleg meg kell tanulnia homályos XPath lekérdezések írását is, hogy megtalálja a tartalmat egy XML dokumentumban.
PowerShell és XML fájlok olvasása
a Powershellnek még mindig van XPath-ja, de nem feltétlenül kell használni. PowerShell egy egyszerű módja annak, hogy olvassa el az XML fájlokat, manipulálni őket, és végül menteni őket vissza a Lemezre írás nélkül egy csomó kódot, vagy tudta XPath. A PowerShell ezt úgy teszi meg, hogy megadja a felhasználó pont jelölését az XML dokumentum minden csomópontjának jelölésére. De először kezdjük el olvasni egy XML dokumentumot.
az XML-dokumentum PowerShellben történő olvasásának egyik módja a típushoz tartozó változó beírása . Ennek a változónak a létrehozásához használhatjuk a Get-Content parancsmagot az XML-dokumentum összes szövegének elolvasására. A Get-Content kimenetének tipizálásához egyszerűen előre írhatjuk a szöveget a változó előtt. Ez azt mondja a PowerShell – nek, hogy szükségünk van erre a változóra typecasted rendszerként.Xml.XmlDocument típus az alapértelmezett tömbtípus helyett, amely általában a Get-Content-ből származik.
$XmlDocument = Get-Content-Path C:autók.xml
ebben a cikkben egy Cars nevű XML fájlt fogunk használni.xml példaként, amely tartalmazza a különböző gyártmányú és modellek autók.
miután futtatta a Get-Content programot, hogy elolvassa a nyers szöveget az XML dokumentumból, és a kimenetet írja be a rendszerbe.Xml.XmlDocument, most már van egy $XmlDocument nevű változója, amely tartalmazza az adott dokumentumot képviselő teljes XML csomópontfát.
Ezen a ponton a dokumentum olvasása triviális feladat a fent említett pontjelzés miatt. Mivel most már a memóriában van az XML dokumentum, felfedezhetjük a fát.
figyeljük meg, hogyan juthatunk egyre mélyebbre a dokumentumban a pont jelöléssel? Ha a dokumentumban olyan pontot találunk, amely hasonló típusú csomópontot (Cars) tartalmaz, akkor azt PowerShell tömbként kezelhetjük, és megadhatjuk a keresett csomópont indexszámát. Ebben az esetben a dokumentumban az első autót a 0 indexszám megadásával találjuk meg.
tegyük fel, hogy meg szeretné találni az összes autót ebben az XML dokumentumban, amely négy vagy több üléssel rendelkezik. Egyszerűen a közös PowerShell parancsmag használatával, ahol-objektum, könnyen lekérhetjük ezeket az információkat.
csomópontok kombinálása
figyeljük meg, hogy a PowerShell egyesíti mind a csomópontokat (elemeket), mind az XML attribútumokat egy készletben? Ez lehetővé teszi, hogy egyszerűen fésülje át a dokumentumot csak a pont jelöléssel és a Where-Object parancsmaggal. A PowerShell ismeri az egyes szülő XML-ekhez társított összes attribútumot és alelemet, és alapértelmezés szerint egy szép táblázatban jeleníti meg őket.
bemutattunk egy módszert, amellyel XML dokumentumokat olvashat. Az egyik szép dolog a PowerShell – ben az, hogy lehet olyan egyszerű vagy olyan nehéz, amilyennek szeretné. Megmutattuk, hogyan lehet csomópontokat találni egy XML dokumentumban pont jelöléssel. Ha valaha is fejlettebb keresésre van szüksége, javasoljuk, hogy vizsgálja meg az olyan parancsmagok használatát, mint a Select-Xml, hogy erősebb lekérdezéseket készítsen. Akárhogy is, a PowerShell lehetővé teszi, hogy bármit elolvashasson és megtaláljon egy XML dokumentumból. A többi rajtad múlik.