【问题标题】:How to properly export XML to file using Powershell如何使用 Powershell 将 XML 正确导出到文件
【发布时间】:2016-02-23 04:34:45
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: xml powershell powershell-3.0


    【解决方案1】:

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

    $VAR.save("c:\works.xml")
    

    希望对你有帮助

    【讨论】:

    • 我应该首先使用 Import-Clixml 而不是 get-content + [XML]$xxx 来获得我的工作方式,对吗?
    • 很抱歉回答迟了,但是是的,你是对的。 import-clixml 将导入一个 XML 对象,您可以轻松地使用它,get-content 不会为您这样做。
    【解决方案2】:

    我正在使用安装了 PowerShell 扩展 (Pscx) 的 PowerShell 5.1,我发现这样做的一种方便的方法是:

    $Var | Format-Xml | Out-File $file_path
    

    【讨论】:

    • 使用 Powershell 5.1,得到错误 "Format-Xml" is not recognized ...
    • 嘿@Pac0,很抱歉我当时没有意识到,但Format-Xml 来自 PowerShell 扩展模块。我认为安装它们是个好主意,因为它们非常有用
    • 很高兴知道,那么!感谢您的回答
    【解决方案3】:

    试试 `Out-File,看看它是否符合您的要求。

    $Var | Out-File SomePath
    

    【讨论】:

    • Out-File 不会在 xml 上保留格式。
    猜你喜欢
    • 2016-03-29
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 2022-07-06
    • 2014-02-28
    • 2016-10-15
    • 2013-06-10
    • 2021-09-28
    相关资源
    最近更新 更多