XML

PowerShell supports XML as a native datatype. To create an XML variable, cast a string to the [xml] type:

$myXml = [xml] @"
<AddressBook>
   <Person contactType="Personal">
      <Name>Lee</Name>
      <Phone type="home">555-1212</Phone>
      <Phone type="work">555-1213</Phone>
   </Person>
   <Person contactType="Business">
      <Name>Ariel</Name>
      <Phone>555-1234</Phone>
   </Person>
</AddressBook>
"@

PowerShell exposes all child nodes and attributes as properties, automatically grouping children that share the same node type:

$myXml.AddressBook

Returns an object that contains a Person property.

$myXml.AddressBook.Person

Returns a list of Person nodes. Each person node exposes 'contactType', Name, and Phone as properties.

$myXml.AddressBook.Person[0]

Returns the first Person node.

$myXml.AddressBook.Person[0].ContactType

Returns Personal as the contact type of the first Person node.

Tip

The XML datatype wraps the .NET XmlDocument and XmlElement classes. Unlike most PowerShell .NET wrappers, this wrapper does not expose the properties from the underlying class, because they may conflict with the dynamic properties that PowerShell adds for node names.

To access properties of the underlying class, use the PsBase property—for example:

$myXml.PsBase.InnerXml

See the section named “Working with the .NET Framework” to learn more about using PowerShell to interact with the .NET Framework.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.224.214.215