我將XmlElement
傳遞給一個函數,該函數又將XmlElement
傳遞到遠程執行的腳本塊中。發生的是隻有一些元素通過foreach
循環讀取。這似乎是無論如果我通過與$using
的XML或傳遞它作爲ArrayList的XML。在遠程腳本塊中使用Xml.XmlElement時的foreach循環
XML部分:
<task>
<apps>
<app name="Sample">
<db name="Basic"/>
<db name="Interntl"/>
<db name="Xchgrate"/>
</app>
<app name="Vision">
<db name="Plan1"/>
</app>
</apps>
</task>
PowerShell代碼:
foreach ($App in $using:task.apps.app) {
$AppName = $App.name
foreach ($Db in $App.db) {
$DbName = $Db.name
$AppFolder = "$DestinationFolder\$AppName\$DbName"
$AppFolder
}
}
得到的輸出是這個如果$DestinationFolder
被設定爲C:\分段:
C:\Staging\Objects\Applications\Sample\Basic C:\Staging\Objects\Applications\Sample\Interntl C:\Staging\Objects\Applications\Sample\Xchgrate
我混淆爲什麼我沒有看到視覺應用程序和數據庫條目?這就像它只是跳過它?更奇怪的是,如果我註釋掉
<db name="Plan1"/>
輸出中有Vision應用程序。
C:\Staging\Objects\Applications\Sample\Basic C:\Staging\Objects\Applications\Sample\Interntl C:\Staging\Objects\Applications\Sample\Xchgrate C:\Staging\Objects\Applications\Vision\