PowerShell点参考XML属性

问题描述 投票:0回答:1

给出这样的单个XML节点

<MachineLogFileName overwrite="[bool]"></MachineLogFileName>

并分配给这样的变量

$validationNode = $validation.xml.SelectSingleNode("//Settings/$($node.name)")

当然$node.name'MachineLogFileName',并且变量$attribute.name'overwrite',我希望能够获得该属性的值,但只能作为属性。我可以使用$validationNode.($attribute.name),但是如果有一个名为<overwrite>的子节点而且不是一个名为'overwrite'的属性,我最终将获得子节点的内部文本。所以从某种意义上说,我想要类似$validationNode.Attributes.($attribute.name)的东西。在这种情况下,似乎有一个具有单个属性的集合,但是我似乎无法以这种方式获取值。最终,这需要使用高度可变的属性和子节点名称,并且我可以遍历所有属性,但是我需要在IF中使用它,因此$validationNode.Attributes.($attribute.name)之类的东西将是理想选择。似乎应该有可能,而我只是缺少一个方面?我希望。

xml powershell attributes
1个回答
1
投票

我希望能够获得该属性的值,但只能作为属性。我可以使用$validationNode.($attribute.name),但是如果有一个名为<overwrite>的子节点,并且不是名为'overwrite'的属性,

使用GetAttribute()

GetAttribute()
© www.soinside.com 2019 - 2024. All rights reserved.