簡體   English   中英

PowerShell 點引用 XML 屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM