ConvertTo-CliXml

将对象转换为 CliXml 格式的字符串。

语法

ConvertTo-CliXml
              [-InputObject] <PSObject>
              [-Depth <Int32>]
              [<CommonParameters>]

说明

ConvertTo-CliXml cmdlet 将对象转换为格式化为公共语言基础结构 (CLI) XML 的字符串。 此命令类似于 Export-Clixml,但它不会写入文件。 而是输出字符串。

PowerShell 7.5-preview.4 中引入了此 cmdlet。

示例

示例 1 - 将进程对象转换为 CliXml 并返回

此示例显示将进程对象转换为 CliXml 和返回的结果。 首先,当前进程存储在变量 $process中。 进程对象的 PSTypeNames 属性显示对象的类型为 System.Diagnostics.Process。 下一个命令显示进程对象中每种类型的成员的计数。

$process = Get-Process -Id $PID
$process.PSTypeNames

System.Diagnostics.Process
System.ComponentModel.Component
System.MarshalByRefObject
System.Object

$process | Get-Member | Group-Object MemberType | Select-Object Name, Count

Name           Count
----           -----
AliasProperty      7
CodeProperty       1
Property          52
NoteProperty       1
ScriptProperty     8
PropertySet        2
Method            19
Event              4

$xml = $process | ConvertTo-CliXml
$fromXML = ConvertFrom-CliXml $xml
$fromXML.PSTypeNames

Deserialized.System.Diagnostics.Process
Deserialized.System.ComponentModel.Component
Deserialized.System.MarshalByRefObject
Deserialized.System.Object

$fromXML | Get-Member | Group-Object MemberType | Select-Object Name, Count

Name         Count
----         -----
Property        46
NoteProperty    17
PropertySet      2
Method           2

接下来,进程对象将转换为 CliXml 并返回。 新对象的类型带有 Deserialized前缀。 新对象中的成员计数与原始对象不同。

参数

-Depth

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

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

-InputObject

要转换为 CliXml 格式的字符串的对象。

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

输入

PSObject

输出

String