尝试将数据从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++ }