考虑以下 XML 文档:
$xml = [xml] "<root><value>one</value><value>two</value></root>"
然后打印值(带有一些前缀/后缀):
$xml.root.value | %{"*$_*"}
*one*
*two*
到现在为止还挺好。但是,如果该元素不存在,则会通过管道传播一个空项:
$xml.root.foo | %{"*$_*"}
**
这是为什么?有什么办法可以避免这种额外的检查:
$xml.root.foo | ?{$_} | %{"*$_*"}
这很容易忘记,而且似乎容易出错。