2012-03-21 21 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> 

Tôi là người mới sử dụng Powershell và tìm câu hỏi trên bảng định dạng xml và định dạng. Đưa ra tệp xml ở trên. Nếu tôi chạy bên dưới kịch bản để hiển thị vé trong một bảng, giá trị của "số", "đóng cửa" không thể được hiển thịPowershell: Cách sử dụng Định dạng bảng với dữ liệu XML

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

Return:

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

Đó có phải là cách duy nhất tôi phải sử dụng foreachselectSingleNode("ticket").get_InnerXml() để nhận tất cả các giá trị?

Cảm ơn bạn.

Trả lời

5

Nếu bạn nhận thấy các nút đó có thuộc tính, do đó bạn sẽ cần phải truy cập dữ liệu của nút. hãy thử các cách sau:

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

Cảm ơn bạn. Đây là hoàn hảo. – seanbun

Các vấn đề liên quan