ConvertTo-Xml

创建对象的基于 XML 的表示形式。

语法

ConvertTo-Xml
              [-Depth <Int32>]
              [-InputObject] <PSObject>
              [-NoTypeInformation]
              [-As <String>]
              [<CommonParameters>]

说明

ConvertTo-Xml cmdlet 创建一个或多个 .NET 对象的基于 XML 的表示形式。 若要使用此 cmdlet,请通过管道将一个或多个对象传递给该 cmdlet,或使用 InputObject 参数来指定对象。

通过管道将多个对象传递给 ConvertTo-Xml 或使用 InputObject 参数提交多个对象时,ConvertTo-Xml 将返回包括了所有对象的表示形式的单个内存中 XML 文档。

此 cmdlet 类似于 Export-Clixml,不同之处在于,Export-Clixml 将生成的 XML 存储在公共语言基础结构 (CLI) 文件中,可以通过 Import-Clixml 将该文件作为对象重新导入。 ConvertTo-Xml 返回 XML 文档的内存中表示形式,以便你可以继续在 PowerShell 中处理它。 ConvertTo-Xml 没有将对象转换为 CLI XML 的选项。

示例

示例 1:将日期转换为 XML

Get-Date | ConvertTo-Xml

此命令将当前日期(DateTime 对象)转换为 XML。

示例 2:将进程转换为 XML

ConvertTo-Xml -As "Document" -InputObject (Get-Process) -Depth 3

此命令可将表示计算机上所有进程的进程对象转换为一个 XML 文档。 这些对象的级别深度将扩展至三。

参数

-As

确定输出格式。 此参数的可接受值为:

  • String - 返回单个字符串。
  • Stream - 返回一个字符串数组。
  • Document - 返回一个 XmlDocument 对象。

默认值是 Document

类型:String
接受的值:Stream, String, Document
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Depth

指定 XML 表示形式中所包含的包含对象的级别数。 默认值为 1。

例如,如果对象的属性还包含对象,若要保存所包含对象的属性的 XML 表示形式,则必须将深度指定为 2。

可以覆盖 Types.ps1xml 文件中对象类型的默认值。 有关详细信息,请参阅 about_Types.ps1xml

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InputObject

指定要转换的对象。 输入一个包含对象的变量,或键入可获取对象的命令或表达式。 还可以通过管道将对象传递给 ConvertTo-XML

类型:PSObject
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-NoTypeInformation

省略对象节点中的 Type 属性。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

PSObject

你可以通过管道将任何对象传递给此 cmdlet

输出

String

使用 As 参数并将值设置为 string 时,此 cmdlet 将返回 XML 作为字符串。 当值为 stream 时,此 cmdlet 将返回字符串数组。

XmlDocument

默认情况下,此 cmdlet 返回一个 XML 文档。