我使用PowerShell解析XML内容并在网格视图中显示结果。下面是我使用的代码:
$content = @"
<root>
<obj>
<name>John</name>
<age>20</age>
</obj>
<obj>
<name>Mike</name>
<age>30</age>
<height>180</height>
</obj>
</root>
"@
[xml]$doc = $content
$doc.root.obj | select * | ogv
字符串
我遇到的问题是,并非所有属性都显示在网格视图中。例如,网格视图只包含名称、高度和其他一些内置属性-缺少年龄属性。x1c 0d1x
我想在网格视图中包含所有属性,即使它们在某些对象中不存在,并为没有相应属性的对象设置空或0。我如何实现这一点?
1条答案
按热度按时间fv2wmkja1#
Select-Object *
的意思是“获取你能找到的任何东西”,这使得Select-Object
发现它作为输入接收的第一个对象的所有属性。相反,从文档中收集 * 所有可能的属性名称 * 的列表,然后在输出之前将其传递给
Select-Object
:字符串
输入对象上不存在的任何属性将以
$null
值结束,而Out-GridView
将使相应的单元格为空