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

Jestem nowicjuszem Powershell i znajduję pytanie na xml i tabeli formatów. Biorąc pod uwagę powyższy plik xml. Jeśli uruchomić poniższy skrypt do wyświetlania bilety w tabeli, wartość „numer”, „zamknięte” nie mógł być pokazanyPowershell: Jak korzystać z tabeli formatu z danymi XML

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

Powrót:

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

Jest to jedyny sposób, muszę użyć foreach i selectSingleNode("ticket").get_InnerXml(), aby uzyskać wszystkie wartości?

Dziękuję.

Odpowiedz

5

Jeśli zauważysz, że te węzły mają atrybuty, musisz przejść do danych węzła. spróbuj wykonać następujące czynności:

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

Dziękuję. To jest doskonałe. – seanbun

Powiązane problemy