使用Powershell读写XML内容

时间:2019-06-17 14:11:53

标签: xml powershell

我目前正在使用Get-Content和powershell从文件中读取XML内容。然后,我将该内容作为xml对象并在日期上进行一些修改。 我现在正在尝试使用Set-Content将XML Modified内容写回到原始文件。但是,它只写以下内容:“ System.Xml.XmlDocument” 有人可以建议一种将XML内容写入文件的更好方法吗?以下是我正在使用的Powershell代码:

    $xmlExample = Get-Content -Path C:\Users\ELO1MTP\Documents\RPAVERTEX\TaxDataExportRequestSample.xml

#convert example to xml object
[xml]$xml = $xmlExample

#Change Start / End to today
$xml.Envelope.Body.RunTaxDataExportRequest.StartDate = (Get-Date).ToString("yyyy-MM-dd")
$xml.Envelope.Body.RunTaxDataExportRequest.EndDate = (Get-Date).ToString("yyyy-MM-dd")

#Write Results to original file
set-Content -Path C:\Users\ELO1MTP\Documents\RPAVERTEX\TaxDataExportRequestSample.xml -Value $xml
$xml.Envelope.Body.RunTaxDataExportRequest

2 个答案:

答案 0 :(得分:0)

如果您尝试将XML转换回字符串格式,这应该对您有用。

$xml.OuterXml

现在,您可以像这样将其写回到磁盘上

set-Content -Path C:\Users\ELO1MTP\Documents\RPAVERTEX\TaxDataExportRequestSample.xml -Value $xml.OuterXml

答案 1 :(得分:0)

也很漂亮。如果顶部有encoding属性,它将指导将另存为的编码。

$xml.save('C:\Users\ELO1MTP\Documents\RPAVERTEX\TaxDataExportRequestSample.xml')