我目前正在使用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
答案 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')