2012-07-27 14 views
12

Okuma XML böyle yapılabilir

$x=[xml]get-content myxml.xml 

verir hangisi: Neden: is

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 

Eşittir işaretinin sol tarafında yapılan cast işlemi, tipik olarak programlama dillerinde, javada() gibi sağ taraftaki döküm yapılır:

a=(String)myobject; 

cevap

21
$x=[xml](get-content myxml.xml) 
+0

Teşekkürler! Bu parantezlerin neden gerekli olduğunu bilen var mı? – monojohnny

+7

Çünkü "get-content myxml.xml" bir ifadedir; '(get-content myxml.xml)' bir nesnedir. Başka bir şeye dökmek için başlamak için bir nesneye sahip olmanız gerekir! – SpellingD

+2

Buna biraz eklemek için, cmdlet'in çevresindeki parantezler ifadenin çözülmesini zorlar. Daha sonra, şimdi bir nesne olan çözümlenen ifade, cast operatörüne aktarılır. –

İlgili konular