如何使用Powershell将XML正确导出到文件

Маг*_*еди 12 xml powershell powershell-3.0

导入任何有效的XML文件作为源[XML]$Var = Get-Content -Path $PathToAnyValidXML我无法正确导出其内容.

使用时Set-Content SomePath $Var,文件以System.Xml.XmlDocument作为内容结束.

使用时$Var | Export-Clixml SomePath,文件以XML中的原始XML结束

将原始XML正确写入文件的正确方法是什么?(获取与导入到Powershell上的变量后$ PathToAnyValidXML上完全相同的内容)

如果我们需要使用XPath或Objects,请尽可能提供两种方法的示例.

Ham*_*mza 18

由于您使用[XML]将文件导入为XML对象,因此要以这种方式导出它,您应该使用Save()Mathod.

$VAR.save("c:\works.xml")
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助


Far*_*zad 5

我使用的是安装了 PowerShell 扩展 ( ) 的 PowerShell 5.1 Pscx,我发现的一种便捷方法是执行此操作:

$Var | Format-Xml | Out-File $file_path
Run Code Online (Sandbox Code Playgroud)

  • 使用 Powershell 5.1,并收到错误“无法识别“Format-Xml”...” (2认同)
  • 嘿@Pac0,很抱歉我当时没有意识到,“Format-Xml”来自 PowerShell 扩展模块。我认为安装它们是个好主意,因为它们非常有用 (2认同)

Tim*_*ill -5

尝试一下“Out-File”,看看是否符合您的要求。

$Var | Out-File SomePath
Run Code Online (Sandbox Code Playgroud)

  • 不过,“Out-File”不会保留 xml 的格式。 (3认同)