2012-03-21 19 views
5
<tickets type="array"> 
    <ticket> 
     <assigned-user-id type="integer">123</assigned-user-id> 
     <closed type="boolean">true</closed> 
     <creator-id type="integer">177522</creator-id> 
     <number type="integer">306</number> 
     <state>resolved</state> 
     <tag nil="true"/> 
     <title> 
     title text 1 
     </title> 
     <updated-at type="datetime">2012-03-14T13:13:11+11:00</updated-at> 
     <user-id type="integer">96438</user-id> 
     <version type="integer">3</version> 
     <user-name>Username</user-name> 
    </ticket> 
</tickets> 

我是Powershell的新手,在XML和格式表上找到一個問題。給出上面的xml文件。如果我運行下面的腳本在表中顯示的機票,「數字」的價值,「封閉」無法顯示Powershell:如何使用帶有XML數據的格式表

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

返回:

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

是不是我要的唯一途徑使用foreachselectSingleNode("ticket").get_InnerXml()來獲得所有的值?

謝謝。

回答

5

如果您注意到這些節點具有屬性,那麼您將需要獲取該節點的數據。請嘗試以下操作:

$t.tickets.ticket | Format-Table -AutoSize -Property title, state, user-name, url, 
@{Label="number"; Expression={$_.number."#text"}}, 
@{Label="closed"; Expression={$_.closed."#text"}} 
+0

謝謝。太棒了。 – seanbun 2012-04-12 00:09:08

相關問題