当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell - 将 XML 转换为 CSV 文件

作者:精品下载站 日期:2024-12-14 16:45:31 浏览:12 分类:玩电脑

PowerShell - 将 XML 转换为 CSV 文件


使用 PowerShell 中的 Export-CSVConvertTo-CSV cmdlet,您可以将 XML 文件转换为 CSV 文件。

XML(可扩展标记语言)是一种类似于 HTML 的标记语言,您可以在其中定义自己的标记来存储和传输数据。它是人类可读和机器可读的,并且可以轻松解析。

CSV(逗号分隔值)文件以表格格式存储数据,其中每个值均由分隔符逗号、半列或任何其他字符分隔。

在本文中,我们将讨论如何使用 Export-CSV 和 ConvertTo-CSV cmdlet 将 XML 转换为 CSV 文件。

PowerShell - 使用 Export-CSV 将 XML 转换为 CSV

PowerShell 中的 Export-CSV cmdlet 根据对象的输入创建 CSV 文件,并将 CSV 文件导出到指定位置。

让我们考虑一个在 PowerShell 中将 XML 转换为 CSV 的示例。

Get-Content -Path D:\LogTest\FTP-02\PowerShell_Books.xml

在上面的 PowerShell 脚本中,我们使用 Get-Content cmdlet 读取 XML 文件内容并显示它。

上述命令的输出是:

PS D:\> Get-Content -Path D:\LogTest\FTP-02\PowerShell_Books.xml                                                                                                            <?xml version="1.0"?>
<catalog>
   <book id="b101">
      <author>ShellGeek</author>
      <title>PowerShell Guide</title>
      <genre>Programming</genre>
      <price>50</price>
      <publish_date>2022-01-01</publish_date>
      <description>Master the PowerShell in 30 days</description>
   </book>
   <book id="b102">
      <author>Microsoft</author>
      <title>Windows PowerShell</title>
      <genre>Programming</genre>
      <price>25</price>
      <publish_date>2021-12-16</publish_date>
      <description>Step by Step Windows PowerShell</description>
   </book>


</catalog>
PS D:\>    

将 XML 文件内容存储在变量 $xmlFile 中。在XML中,XML文件中的每个元素都是一个元素节点。

要将 XML 文件转换为 CSV 文件,我们需要将其遍历到 XML 子节点,并将其作为输入传递给 PowerShell 中的 Export-CSV 命令。

Export-CSV 命令将 XML 节点作为输入,从 XML 子节点创建 CSV 文件,并将它们导出到带有逗号分隔符的 CSV 文件。

$xmlFile = Get-Content -Path D:\LogTest\FTP-02\PowerShell_Books.xml  
                                                                                               $xmlFile.catalog.ChildNodes | Export-Csv -Path D:\LogTest\FTP-02\PowerShell_Books.csv -NoTypeInformation -Delimiter:","  

使用 Export-CSV cmdlet 将 XML 输出到 CSV 文件的上述 PowerShell 脚本的输出为:

[玩转系统] PowerShell - 将 XML 转换为 CSV 文件

在上面的输出中,它将 XML 导出到 CSV 文件,并使用 Get-Content 命令读取 CSV 文件并在 PowerShell 终端上显示信息。

酷提示:如何使用 PowerShell 将大文件拆分为较小的文件!

PowerShell XML 转换为 CSV 文件

使用 PowerShell 中的 ConvertTo-CSV cmdlet,您可以将 XML 文件转换为 CSV 文件。

我们将引用上面示例中使用的 PowerShell_Books.xml 文件。此 XML 文件包含有关图书的信息。

要将图书 XML 节点的 XML 转换为 CSV 文件,请使用 ConvertTo-CSV 命令,如下所示。

$xmlFile = Get-Content -Path D:\LogTest\FTP-02\PowerShell_Books.xml

$xmlFile.catalog.ChildNodes | ConvertTo-Csv -NoTypeInformation -Delimiter:"," | Set-Content -Path D:\LogTest\FTP-02\PowerShell_Books_2.csv  

Get-Content -Path D:\LogTest\FTP-02\PowerShell_Books_2.csv       

在上面的 PowerShell 脚本中,Get-Content 命令读取 XML 文件内容并将其存储在 $xmlFile 变量中。

此 $xmlFile 变量包含整个 XML 节点,并将它们作为输入传递给 ConvertTo-CSV 命令,该命令使用 CSV 文件的 Delimeter 字符逗号。然后,它将 CSV 文件内容传递给 Set-Content 以将其写入指定的文件路径。

使用 ConvertTo-CSV 命令将 XML 节点导出为 CSV 的上述 PowerShell 脚本的输出为:

[玩转系统] PowerShell - 将 XML 转换为 CSV 文件

酷提示:如何使用 PowerShell 导出文件名中包含日期的 CSV!

结论

我希望上面关于如何使用 Export-CSV 和 ConvertTo-CSV 文件将 XML 转换为 CSV 文件的文章对您有所帮助。

您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯