尝试将数据从XML移动到Excel电子表格
我正试图学习如何使用PowerShell来加速工作中的一些任务。
我的目标是创build一个XML文档,列出有关产品的一些数据,并从某个定期的子节点获取数据,并将其放入Excel的新行中。
所以XML可能看起来像这样(包括“序列”属性):
<xml> <tracks> <track sequence="1"> <tracktitle>StuffIWant</tracktitle> </track> <track sequence="2"> <tracktitle>StuffIWant2</tracktitle> </track> <track sequence="3"> <tracktitle>StuffIWant3</tracktitle> </track> </tracks> </xml>
我想把每个tracktitle
放在excel中成行。
我在哪里可以放置一个特定的东西在Excel中,就像一个单一的实体,如xml.artist.artistname
,但如果我想循环过程抓住所有的轨道,然后我不知道如何正确写循环。 我已经尝试了一堆不同的东西,但是这里的东西在我的脑海中是最有意义的( $books
是我正在使用的XML文档):
$row = 5 foreach ($track in $books.tracks) { $track = $books.tracks.track.tracktitle $excelworksheet.cells.item($row, 2) = $track $row++ }
- 您需要访问xml中的
track
-property来实际获取track元素数组。tracks
是单个节点,而它包含多个track
元素(可以作为数组访问)。 - 你没有使用循环中的当前项目
$track
。 -
$books.tracks
对于包含的示例无效。 你错过了xml
根元素
尝试这个:
$row = 5 foreach ($track in $books.xml.tracks.track) { $title = $track.tracktitle $excelworksheet.cells.item($row, 2) = $title $row++ }