gpt4 book ai didi

powershell - XPath SelectNodes的高级条件

转载 作者:行者123 更新时间:2023-12-03 17:12:42 25 4
gpt4 key购买 nike

我对XPath的理解达到了绊脚石。我可以进行基本的选择而没有太多麻烦,但是我现在不仅需要根据节点所属的节点来选择节点,还需要根据节点是否包含特定节点来进行选择,而且我一直发现自己会选择较大选择的路径,然后进行“循环”和“如果跳舞”以使其降低。而且我以某种方式认为我在XPath中缺少一些巧妙的技巧,无法在单个语句中做到这一点。

因此,考虑到下面的XML,根据特定的位置ID和Set中特定值的存在,我想得出一组计算机节点。因此,$ location = Amsterdam&$ set = Viz应该只返回A-1计算机,但是$ location = Amsterdam&$ set = Arch应该返回阿姆斯特丹的所有三台计算机。

那么,这完全可以在XPath语句中完成吗?如果没有,那么是否有一个漂亮的Powershell管道技巧?还是我最好的选择是使用XPath来解决“位置和循环”问题,如果要过滤掉这些集合?

<Management>
<Computers>
<Location id="Amsterdam">
<Computer id="A-1">
<ConformSets>
<Set>Arch</Set>
<Set>Viz</Set>
</ConformSets>
</Computer>
<Computer id="A-2">
<ConformSets>
<Set>Arch</Set>
</ConformSets>
</Computer>
<Computer id="A-3">
<ConformSets>
<Set>Arch</Set>
</ConformSets>
</Computer>
</Location>
<Location id="Berlin">
<Computer id="B-1">
<ConformSets>
<Set>Viz</Set>
</ConformSets>
</Computer>
<Computer id="B-2">
<ConformSets>
<Set>Arch</Set>
</ConformSets>
</Computer>
<Computer id="B-3">
<ConformSets>
<Set>Arch</Set>
</ConformSets>
</Computer>
</Location>
</Computers>
</Management>

最佳答案

您可以使用以下XPath表单基于ComputerLocation属性和id后代元素值返回Set元素:

//Location[@id='some_id']/Computer[ConformSets/Set='some_set_value']

关于powershell - XPath SelectNodes的高级条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30817821/

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