Powershell:将XML写入文件

时间:2017-03-24 12:09:49

标签: xml powershell

我是第一次在PowerShell中使用XML文件。我有一个简单的脚本失败。我需要使用web-request获取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

我做错了什么?

1 个答案:

答案 0 :(得分:3)

您可以通过引用所需根节点的OuterXml属性来保存Xml文档的子集:

# instead of $ipgeo.Save("c:\ipgeo\IPXML\$IP.xml")
$ipgeo.OuterXml |Out-File "c:\ipgeo\IPXML\$IP.xml"