powershell 按级别格式将 xml 转换为 csv(或 excel)

Posted

技术标签:

【中文标题】powershell 按级别格式将 xml 转换为 csv(或 excel)【英文标题】:powershell convert xml to csv(or excel) by level format 【发布时间】:2022-01-14 10:46:23 【问题描述】:

我有一个这样的 xml 文件:

<a>
   <a.1>
      <data a.1></data a.1>
   </a.1>
</a>

我想用这种格式把这个xml转换成csv:

Column1  | Column2 |  column3
<a>      |         |
         |  <a.1>  |
         |         |  <data a.1></data a.1>
         |  </a.1> |
</a>     |         |

有人知道使用 powershell 吗?

【问题讨论】:

【参考方案1】:

我们在本地环境中创建了一个示例 xml 文件,内容如下。

<departments>  
<item>  
<deptid>100</deptid>  
<deptname>marketing</deptname>  
<employeecount>1000</employeecount>  
</item>  
</departments>  

使用下面的 PowerShell cmdlet,我们尝试转换为 csv,它工作正常。

这里是 PowerShell Cmdlet:

[xml]$de=Get-Content -Path C:\Users\Downloads\depart.xml  
$de.departments.ChildNodes|Export-Csv C:\Users\Downloads\depart.csv -NoTypeInformation -Delimiter:","

以下是示例输出以供参考:

【讨论】:

我只想将节点(打开和关闭)推送到第二列,并将其子节点推送到第三列,子节点到第四列也是如此

以上是关于powershell 按级别格式将 xml 转换为 csv(或 excel)的主要内容,如果未能解决你的问题,请参考以下文章

powershell 将CSV文件转换为XML

powershell 使用PowerShell将JSON转换为CSV格式

powershell 使用PowerShell将JSON转换为CSV格式

xsl muenchian 分组多个级别

如何将日期时间从 PowerShell 输出转换为 yyyy-MM-dd HH:mm:ss 格式

在 Powershell 中将 UFT-8 xml 转换为 Unicode 时,$encoding 属性值在输出 xml 中显示 bigEndianUnicode,我想要 UTF-16