12
एक चर में एक फ़ाइल से पढ़ना एक्सएमएल इस तरह किया जा सकता है:शक्तियों में कास्टिंग? अजीब वाक्यविन्यास?
[xml]$x=get-content myxml.xml
लेकिन क्यों नहीं:
$x=[xml]get-content myxml.xml
कौन देता है:
Unexpected token 'get-content' in expression or statement.
At line:1 char:20
+ $x=[xml]get-content <<<< myxml.xml
+ CategoryInfo : ParserError: (get-content:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
यही कारण है: क्यों है बराबर चिह्न के बाईं ओर किए गए कास्ट ऑपरेशन, आमतौर पर प्रोग्रामिंग भाषाओं में कास्टिंग जावा में दाएं हाथ की ओर (कहें) पर किया जाता है:
a=(String)myobject;
धन्यवाद! किसी को पता है कि इन ब्रैकेट की आवश्यकता क्यों है? – monojohnny
क्योंकि 'get-content myxml.xml' एक अभिव्यक्ति है; '(get-content myxml.xml)' एक ऑब्जेक्ट है। आपको इसे किसी अन्य चीज़ पर डालने के लिए शुरू करने के लिए एक ऑब्जेक्ट होना चाहिए! – SpellingD
इसे थोड़ा जोड़ने के लिए, cmdlet के चारों ओर कोष्ठक अभिव्यक्ति को हल करने के लिए मजबूर करता है। फिर, हल अभिव्यक्ति, जो अब एक वस्तु है, कास्ट ऑपरेटर में पारित किया गया है। –