我有一个这种格式的XML文档
<rss>
<channel>
<item>
<id>1</id>
<image>img_32.jpeg</image>
</item>
<item>
<id>2</id>
<image>img_42.jpeg</image>
</item>
<item>
<id>1</id>
<image>img_52.jpeg</image>
</item>
<item>
<id>3</id>
<image>img_62.jpeg</image>
</item>
<item>
<id>4</id>
<image>img_72.jpeg</image>
</item>
</channel>
</rss>
ID节点不是唯一的。我要使用PowerShell做的是按ID分组,然后遍历每个ID的分组项目。
ID 1 has two images
loop through the two images
do something with it
ID 2 has one image
loop through the one image
do something with it
etc..
到目前为止,我有以下内容:
[xml]$xml = (New-Object System.Net.WebClient).DownloadString("https://myfeedurl.xml")
$grouped = $xml.rss.channel.item | Group id
$grouped
返回
Count Name Group ----- ---- ----- 2 1 {item}{item} 1 2 {item} 1 3 {item} 1 4 {item}
但我无法确定如何使用此分组信息以便最终得到唯一的分组ID项列表,以便我可以轻松地遍历图像。
答案 0 :(得分:5)
ssc inst labutil
返回的每个项目的Group
属性包含组元素 - 您只需要一个嵌套循环:
Group-Object