Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
How to read the XML file in PowerShell?
Reading the XML file in PowerShell is easy. We have the below XML file for our example,
Example
<Animals> <Animal Name="Elephant" Type="Wild"> <Residence>Forest</Residence> <Color>Brown</Color> </Animal> <Animal Name="Dog" Type="Pet"> <Residence>Street</Residence> <color>Multi</color> </Animal> <Animal Name="Tiger" Type="Wild"> <Residence>Forest</Residence> <color>Yellow</color> </Animal> </Animals>
Suppose this file is saved as Animals.xml to our current path and to read this XML file we will first get the content of the file using Get-Content command and then we will perform type conversion into XML. For example,
Example
[XML]$xmlfile = Get-Content .\Animals.xml
When you check the $xmlfile output,
Output
PS E:\scripts\Powershell> $xmlfile Animals ------- Animals
Animals tag is called element here and to get the attributes from the element, we need to use that element, for example,
Example
$xmlfile.Animals
PS E:\scripts\Powershell> $xmlfile.Animals
Animal
------
{Elephant, Dog, Tiger}
Similarly, you can use Animal elements to expand further attributes, and so on. For example,
Example
$xmlfile.Animals.Animal PS E:\scripts\Powershell> $xmlfile.Animals.Animal Name Type Residence Color ---- ---- --------- ----- Elephant Wild Forest Brown Dog Pet Street Multi Tiger Wild Forest Yellow
To get a specific attribute like Name, Type, etc.
$xmlfile.Animals.Animal.name
Output
PS E:\scripts\Powershell> $xmlfile.Animals.Animal.name Elephant Dog Tiger
To get the Type of the animal.
$xmlfile.Animals.Animal.Type
Output
PS E:\scripts\Powershell> $xmlfile.Animals.Animal.Type Wild Pet Wild
If you want two or more attributes together in the table format then you can use PowerShell traditional Select or Format-Table command. For example,
Example
$xmlfile.Animals.Animal | Select Name, Type
Output
PS E:\scripts\Powershell> $xmlfile.Animals.Animal | Select Name, Type Name Type ---- ---- Elephant Wild Dog Pet Tiger Wild
