【发布时间】:2017-01-18 08:44:29
【问题描述】:
我将XmlElement 传递给一个函数,该函数又将XmlElement 传递到一个用于远程执行的脚本块中。正在发生的事情是只有一些元素通过foreach 循环被读取。这似乎与我是使用 $using 传递 XML 还是将其作为 ArrayList 传递无关。
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:\Staging:,则结果输出如下:
C:\Staging\Objects\Applications\Sample\Basic C:\Staging\Objects\Applications\Sample\Interntl C:\Staging\Objects\Applications\Sample\Xchgrate
我很困惑为什么看不到 Vision 应用程序和数据库条目?就像它只是跳过它?更奇怪的是,如果我注释掉
<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\
【问题讨论】:
标签: xml powershell