gpt4 book ai didi

xml - Select-Xml 仅显示第一个节点中的子节点

转载 作者:数据小太阳 更新时间:2023-10-29 02:53:40 25 4
gpt4 key购买 nike

当且仅当它位于第一个父元素中时,以下内容才会显示子元素。

$xml = @"
<?xml version="1.0" encoding="utf-8"?>
<root>
<par><commonchild>Hi there.</commonchild><otherchild>This is displayed.</otherchild></par>
<par><commonchild>Hi again.</commonchild><otherchild>So is this.</otherchild></par>
<par><commonchild>Well hello.</commonchild><missingchild>This is missing.</missingchild></par>
<par><commonchild>Cheers.</commonchild><missingchild>So is this.</missingchild></par>
</root>
"@

cls
Select-Xml -Content $xml -XPath "//par" | select -ExpandProperty node

输出

commonchild otherchild        
----------- ----------
Hi there. This is displayed.
Hi again. So is this.
Well hello.
Cheers.

我们如何才能显示所有父元素的所有子元素?例如,以下是可行的,但有时我们并不知道所有的子元素名称。

cls
Select-Xml -Content $xml -XPath "//par" |
select -ExpandProperty node |
select commonchild, otherchild, missingchild

输出

commonchild otherchild         missingchild    
----------- ---------- ------------
Hi there. This is displayed.
Hi again. So is this.
Well hello. This is missing.
Cheers. So is this.

最佳答案

$pars = (Select-Xml -XPath "//par" -Content $xml)$childNodes = ($pars.Node.ChildNodes.Name | select -Unique)$pars.Node | select $childNodescommonchild                otherchild                 missingchild             -----------                ----------                 ------------             Hi there.                  This is displayed.                                  Hi again.                  So is this.                                         Well hello.                                           This is missing.         Cheers.                                               So is this.

所以 XmlNode.ChildNodes是一个隐藏属性,只有当您在其上设置 -Force 参数时,它才会由 Get-Member 公开。基本上,我使用该属性来获取子节点的名称,然后对其进行过滤,因此我使用 select -Unique 命令只有一个。然后我将这些名称保存在一个名为 $childNodes 的变量中,并将该变量用作最终 select-Property 参数的值.

关于xml - Select-Xml 仅显示第一个节点中的子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21273715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com