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

मैं पावरहेल नौसिखिया हूं और एक्सएमएल और प्रारूप-तालिका पर एक प्रश्न ढूंढता हूं। एक्सएमएल फ़ाइल से ऊपर दिया गया। अगर मैं एक तालिका में टिकट प्रदर्शित करने के लिए स्क्रिप्ट नीचे चलाने के लिए, "संख्या" का मान, "बंद" नहीं दिखाया जा सकापावरहेल: 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 

यह एक ही रास्ता मैं करने के लिए है है सभी मूल्यों को प्राप्त करने के लिए foreach और selectSingleNode("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

संबंधित मुद्दे