我在PowerShell中首次使用XML文件。我有一個簡單的腳本失敗。我需要使用web請求來獲取XML內容,然後將其保存到文件夾中供以後處理。Powershell:將XML寫入文件
下面是代碼:
$IP = 8.8.8.8
$ipgeo = new-object System.Xml.XmlDocument
$ipgeo = ([xml](Invoke-WebRequest "http://freegeoip.net/xml/$IP").Content).Response
$ipgeo.save("c:\ipgeo\IPXML\$IP.xml")
當我運行它,我得到以下錯誤:
Method invocation failed because [System.Xml.XmlElement] does not contain a method named 'save'. At line:3 char:1
+ $ipgeo.save("c:\ipgeo\IPXML\$IP.xml")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: InvalidOperation: (save:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
我在做什麼錯?
@CodeCaster'System.Xml.XmlElement'不包含命名方法「保存」或'保存' - 投射是問題,所以改變大小寫不會有幫助 – arco444
@arco你是對的。 'System.Xml.XmlDocument' [_does_有一個Save()方法](https://msdn.microsoft.com/en-us/library/dw229a22(v = vs.110).aspx),但它們覆蓋'$ ipgeo'。 – CodeCaster
@CodeCaster它*是*給出這個錯誤。這是因爲'.Response'被選中,它是一個'XmlElement',所以如果你用下面的代碼行中的其他東西覆蓋它,那麼你實例化的內容就不重要了。 – arco444