【发布时间】:2018-05-27 09:26:26
【问题描述】:
我使用一个数组来读取 Excel 内容,它应该用于创建一个 xml 文件,但是在将数组值分配给 write xml 语句时遇到了麻烦。 数组代码:
# Parse Excel columns A and B and store it in array "$headerInit"
for ($j=1; $j -le $rowMax-1; $j++)
{
$Obj = New-Object Psobject -Property @{
Value = $ws.Cells.Item($j,2).text
Header = $ws.Cells.Item($j,1).text
No = $j
}
$DataArray.add($obj) # Visualize the array content
}
$DataArray | Out-Gridview
数组内容示例:
No Header Value
...
12 Address 1234,0x3030
...
这里是创建 xml 文档的代码摘录(值“1234”和“0x3030”是手动插入的,但应该从数组 $DataArray 中分配):
...
# Write node <address1>
$xmlWriter.WriteStartElement('address1')
$xmlWriter.WriteAttributeString('address','1234')
$xmlWriter.WriteEndElement() # <-- Closing the node <address1>
# Write node <address2>
$xmlWriter.WriteStartElement('address2')
$xmlWriter.WriteAttributeString('address','0x3030')
$xmlWriter.WriteEndElement() # <-- Closing the node <address2>
...
如何从 create xml 语句中的数组 $DataArray, Header "Address" 中分配 2 个值,除以逗号 "1234,0x3030"?任何帮助表示赞赏 - 谢谢。
【问题讨论】:
-
您已经考虑过使用
.Split(',')对吗? -
感谢您的评论,但我是 Powershell 的新手,不知道如何将左右值存储在单独的变量中?
-
你是如何循环访问
$DataArray的?您还没有包含实际构建 XML 的代码,很难猜测您是如何引用它的值的。
标签: arrays xml excel powershell