Hi everybody,
here are some fundamentals to handle XML Files with powershell.
The following commands uses these XML File
<config description="Config file for testing"> <system description="Document Management"> <document authorFirstName="Kirk" authorSurname="Author1" date="20130503 01:15:43" description="Document Hammet" index="3">C:\temp\doc0001.txt</document> <document authorFirstName="Lars" authorSurname="Author5" date="20130503 10:05:42" description="Document Ulrich" index="4">C:\temp\doc0002.txt</document> <document authorFirstName="Cliff" authorSurname="Author5" date="20130612 11:54:33" description="Document Burton" index="6">C:\temp\doc0051.txt</document> <document authorFirstName="Jason" authorSurname="Author2" date="20130806 04:02:41" description="Document Newsted" index="1">C:\temp\doc0041.txt</document> <document authorFirstName="Robert" authorSurname="Smith" date="20131202 07:12:03" description="Document Trujillo" index="2">C:\temp\doc0012.txt</document> <document authorFirstName="James" authorSurname="Smith" date="20130211 09:05:59" description="Document Hetfield" index="5">C:\temp\doc0003.txt</document> </system> </config>
Creating a XML File, create a document root, create subelements, add and set attributes, save the file
# Create a new XML File with config root node [System.XML.XMLDocument]$oXMLDocument=New-Object System.XML.XMLDocument # New Node [System.XML.XMLElement]$oXMLRoot=$oXMLDocument.CreateElement("config") # Append as child to an existing node $oXMLDocument.appendChild($oXMLRoot) # Add a Attribute $oXMLRoot.SetAttribute("description","Config file for testing") [System.XML.XMLElement]$oXMLSystem=$oXMLRoot.appendChild($oXMLDocument.CreateElement("system")) $oXMLSystem.SetAttribute("description","Document Management") # Save File $oXMLDocument.Save("c:\temp\config.xml")
Loading an existing XML File, read an element, do some XPATH queries
Continue reading Powershell: Some basic XML handling with Powershell and .NET