Convert
To-Xml
Creates an XML-based representation of an object.
Syntax
Convert To-Xml
[-Depth <Int32>]
[-InputObject] <PSObject>
[-NoTypeInformation]
[-As <String>]
[<CommonParameters>]
Description
The
ConvertTo-Xml
cmdlet creates an
XML-based
representation
of one or more .NET objects. To use this cmdlet, pipe one or more objects to the cmdlet, or use the
InputObject
parameter to specify the object.
When you pipe multiple objects to
ConvertTo-Xml
or use the
InputObject
parameter to submit
multiple objects,
ConvertTo-Xml
returns a single, in-memory XML document that includes
representations of all of the objects.
This cmdlet is similar to
Export-Clixml
except that
Export-Clixml
stores the
resulting XML in a
Common Language Infrastructure(CLI) XML
file that can be reimported as objects with
Import-Clixml
.
ConvertTo-Xml
returns an in-memory representation of an XML document, so you can continue to process it in
PowerShell.
ConvertTo-Xml
does not have an option to convert objects to CLI XML.
Examples
Example 1: Convert a date to XML
Get-Date | ConvertTo-Xml
This command converts the current date (a DateTime object) to XML.
Example 2: Convert processes to XML
ConvertTo-Xml -As "Document" -InputObject (Get-Process) -Depth 3
This command converts the process objects that represent all of the processes on the computer into an XML document. The objects are expanded to a depth of three levels.
Parameters
-As
Determines the output format. The acceptable values for this parameter are:
-
String
Returns a single string. -
Stream
Returns an array of strings. -
Document
Returns an XmlDocument object.
The default value is
Document
.
Type: | String |
Accepted values: | Stream, String, Document |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Depth
Specifies how many levels of contained objects are included in the XML representation. The default value is 1.
For example, if the object's properties also contain objects, to save an XML representation of the properties of the contained objects, you must specify a depth of 2.
The default value can be overridden for the object type in the Types.ps1xml files. For more information, see about_Types.ps1xml .
Type: | Int32 |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Specifies the object to be converted. Enter a variable that contains the objects, or type a command
or expression that gets the objects. You can also pipe objects to
ConvertTo-XML
.
Type: | PSObject |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoTypeInformation
Omits the Type attribute from the object nodes.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
PSObject
You can pipe any object to this cmdlet
Outputs
String
When you use the
As
parameter and set the value to
string
, this cmdlet returns the XML as a
string. When the value is
stream
, this cmdlet returns an array of strings.
XmlDocument
By default, this cmdlet returns an XML document.