Powershell:如何将Format-Table与XML数据一起使用

前端之家收集整理的这篇文章主要介绍了Powershell:如何将Format-Table与XML数据一起使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. <tickets type="array">
  2. <ticket>
  3. <assigned-user-id type="integer">123</assigned-user-id>
  4. <closed type="boolean">true</closed>
  5. <creator-id type="integer">177522</creator-id>
  6. <number type="integer">306</number>
  7. <state>resolved</state>
  8. <tag nil="true"/>
  9. <title>
  10. title text 1
  11. </title>
  12. <updated-at type="datetime">2012-03-14T13:13:11+11:00</updated-at>
  13. <user-id type="integer">96438</user-id>
  14. <version type="integer">3</version>
  15. <user-name>Username</user-name>
  16. </ticket>
  17. </tickets>

我是一个Powershell新手,并在xml和format-table上找到一个问题.给出上面的xml文件.如果我在脚本下面运行以在表格中显示票证,则无法显示“数字”,“已关闭”的值

  1. $t = [xml](new-object system.net.webclient).downloadstring($xmlfilepath)
  2. $t.tickets.ticket | Format-Table -Property title,state,user-name,url,number,closed

返回:

  1. title state user-name number closed
  2. ----- ----- --------- ------ ------
  3. title text 1 resolved Username number closed
  4. title text 2 resolved Username number closed

这是我必须使用foreach和selectSingleNode(“ticket”).get_InnerXml()来获取所有值的唯一方法吗?

谢谢.

如果您注意到这些节点具有属性,那么您将需要获取节点的数据.尝试以下方法
  1. $t.tickets.ticket | Format-Table -AutoSize -Property title,@{Label="number"; Expression={$_.number."#text"}},@{Label="closed"; Expression={$_.closed."#text"}}

猜你在找的XML相关文章