[英]PowerShell dot reference XML attribute
給定一個這樣的 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)
這樣的東西將是理想的。 似乎應該有可能,而我只是錯過了一個方面? 我希望。
我希望能夠獲得該屬性的值,但只能作為一個屬性。 我可以使用
$validationNode.($attribute.name)
,但是如果有一個名為<overwrite>
的子節點並且不是一個名為 'overwrite' 的屬性
使用GetAttribute()
:
$validationNode = $validation.xml.SelectSingleNode("//Settings/$($node.name)")
$attributeValue = $validationNode.GetAttribute($attribute.name)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.