ConvertTo-XML

Applies To: Windows PowerShell 2.0

Creates an XML-based representation of an object.

Syntax

ConvertTo-XML [-InputObject] <psobject> [-As <string>] [-Depth <int>] [-NoTypeInformation] [<CommonParameters>]

Description

The ConvertTo-Xml cmdlet creates an XML-based representation of one or more Microsoft .NET Framework 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 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 file. ConvertTo-XML returns the XML, so you can continue to process it in Windows PowerShell.

Parameters

-As <string>

Determines the output format. Valid values are:

-- String: Returns a single string.

-- Stream: Returns an array of strings.

-- Document: Returns an XmlDocument object.

The default is Document.

Required?

false

Position?

named

Default Value

Stream

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Depth <int>

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.

Required?

false

Position?

named

Default Value

1

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-InputObject <psobject>

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.

Required?

true

Position?

1

Default Value

None

Accept Pipeline Input?

true (ByValue)

Accept Wildcard Characters?

true

-NoTypeInformation

Omits the Type attribute from the object nodes.

Required?

false

Position?

named

Default Value

False

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This command supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, OutBuffer, OutVariable, WarningAction, and WarningVariable. For more information, see about_CommonParameters.

Inputs and Outputs

The input type is the type of the objects that you can pipe to the cmdlet. The return type is the type of the objects that the cmdlet returns.

Inputs

System.Management.Automation.PSObject

You can pipe any object to ConvertTo-XML.

Outputs

System.String or System.Xml.XmlDocument

The value of the As parameter determines the type of object that ConvertTo-XML returns.

Example 1

C:\PS>get-date | convertto-xml

Description
-----------
This command converts the current date (a DateTime object) to XML.





Example 2

C:\PS>convertto-xml -as Document -inputObject (get-process) -depth 3

Description
-----------
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.





See Also

Concepts

Export-Clixml
Import-Clixml
ConvertTo-Html
ConvertTo-CSV