次のような構造があるとします。
[xml]$i = "
<root>
<item>
<id>1</id>
<data>Content_Of_1</data>
</item>
<item>
<id>2</id>
<data>Content_Of_2</data>
<item>
<id>5</id>
<data>Content_Of_5</data>
</item>
</item>
</root>
"
$foo = @(1,2,3)
$i.root.item.id が $foo にある $i.root.item.data を選択します。
配列内の ID に一致するノードを選択するには、次のようにします。
($i.root.item | ? {$foo -contains $_.id})
しかし、何らかの理由で $_.data を取得しようとすると、何も取得されません。
($i.root.item | ? {$foo -contains $_.id}).data
なんで?