【发布时间】:2019-07-24 00:34:28
【问题描述】:
我在 PowerShell 中有以下代码:
[xml]$Xml = @"
<?xml version="1.0" encoding="utf-8"?>
<Sequences>
<Sequence>
<SequenceName>Sequence-A</SequenceName>
<SequenceMeta>
<SequenceStart>2019-07-23T17:26:54.710+02:00</SequenceStart>
<SequenceEnd>2019-07-23T17:26:54.741+02:00</SequenceEnd>
</SequenceMeta>
</Sequence>
<Sequence>
<SequenceName>Sequence-B</SequenceName>
<SequenceMeta>
<SequenceStart></SequenceStart>
<SequenceEnd></SequenceEnd>
</SequenceMeta>
</Sequence>
</Sequences>
"@
Clear-Host
$Sequences = $Xml.Sequences.Sequence | Where-Object -Property SequenceMeta.SequenceEnd
$Sequences
Remove-Variable -Name Xml
如您所见,我加载了 XML-Data,然后我想使用“Where-Object”对其进行过滤。 我想选择那些“Sequence(s)”,其中属性“SequenceEnd”有一个值。
在本例中,结果应为“Sequence-A”。 “Sequence-B”不应显示在结果中,因为“SequenceEnd”-属性没有值。
我不知道如何选择子属性“Sequence-End”。我像“SequenceMeta.SequenceEnd”一样尝试过,但如您所见,这不起作用。
我正在寻找单线。实际上查询会更长。
谢谢
【问题讨论】:
标签: powershell