Hi everybody,
here are some fundamentals to handle XML Files with powershell.
The following commands uses these XML File
1 2 3 4 5 6 7 8 9 10 | < 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
1 2 3 4 5 6 7 8 9 10 11 12 | # 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