我有一个XML,如果他没有某个时间戳的数据,他没有输入,但要将其转换为Excel工作表,我需要用数组内的0替换不存在的值,如果它真的存在我采取了这个措施并将其放入我的阵列中。
for ($i = 0; $i -le $applicationArray.Length - 1; $i++) {
$node = $xdoc3.dashboardreport.data.chartdashlet[$i]
$node.name
for ($j = 0; $j -le $aantaldagenInDeMaand - 1; $j++) {
try {
if ($node.measures.measure.measure.measurement[$j].timestamp -ne $allDates[$j]) {
$LastmesOG += "0"
}
else{
$LastmesOG += $node.measures.measure.measure.measurement[$j].sum
}
}
catch {
$LastmesOG += "0"
}
$index++
Write-Host "name: " $node.name " i: " $i " measure: " $LastmesOG[$j] " j: " $j
}
}
正如您在我的输出中看到的,我从chartdashlet节点获取的名称是正确的,但所有度量都会从第一个chartdashlet节点返回。 这是怎么发生的?
示例输出:
APP1
name: APP1 i: 0 measure: 840.0 j: 0
name: APP1 i: 0 measure: 718.0 j: 1
name: APP1 i: 0 measure: 106.0 j: 2
name: APP1 i: 0 measure: 6.0 j: 3
APP2
name: APP2 i: 1 measure: 840.0 j: 0
name: APP2 i: 1 measure: 718.0 j: 1
name: APP2 i: 1 measure: 106.0 j: 2
name: APP2 i: 1 measure: 6.0 j: 3
APP3
name: APP3 i: 2 measure: 840.0 j: 0
name: APP3 i: 2 measure: 718.0 j: 1
name: APP3 i: 2 measure: 106.0 j: 2
name: APP3 i: 2 measure: 6.0 j: 3
答案 0 :(得分:0)
好吧,经过2个小时的挫折并发布了这个,我找到了它。 $ LastmesOG值已添加,但由于$ LastMesOG [$ j],我总是调用它的第一个值,而不是现在$ Lastmesog [$ lastmesog.length-1]