1
所以我有這個函數,我用來從我的XML節點之一獲取屬性「類型」。 XML文件中至少有兩個節點。訪問XML屬性與PowerShell失敗的一個節點,但不是另一個
XML部分看起來像這樣
<config>
<local>
<setup>
<backup type="7Day"/>
<folder name="Backups" type="backup_root">
<folder name="DayTemplate" type="day_template">
<folder name="Logs"/>
<folder name="Objects">
<folder name="Applications"/>
</folder>
</folder>
</folder>
</setup>
</local>
</config>
在我的功能在下面,我通過XML對象$ xmlDoc.config.local.setup然後什麼「型」我希望找到。使用情況類似於
$type = Get-FolderNameByType -folders $xmlDoc.config.local.setup -type 'day_template'
第一個文件夾類型'backup_root'我可以在調試代碼時看到。如果未能按預期匹配,但第二個'day_template'從未找到。 foreach循環由於某種原因跳過它,我不知道爲什麼。
function Get-FolderNameByType
{
param
(
[Object]
$folders,
[Object]
$type
)
foreach ($folder in $folders.folder)
{
if ($folder.type)
{
if ($folder.type -eq $type)
{
return $folder.name.tostring()
}
}
}
}
我敢肯定,這個問題已經一切都與我如何解析XML,以及如何它實際上是有組織的記憶,但我無法弄清楚。任何幫助深表感謝。
非常感謝。那就是訣竅。我忘記了嵌入在XML中的一些條目。感謝您指出了這一點。 – todd1215