XML到表格/ CSV

问题描述 投票:1回答:1

我想将xml文件转换为csv格式,我的问题是我没有正确的表格形式。网络上有很多示例,但是我找不到我的xml结构的任何示例/解决方案。

当前代码:

[xml]$inputFile = Get-Content $xmlpath
$inputFile.Import.Category.Record.ChildNodes | Export-Csv $csvpath -NoTypeInformation -Delimiter:";" -Encoding:UTF8

我得到的是:

"FieldName";"String"
"Field1";"111"
"Field2";"222"
"Field1";"333"
"Field2";"444"

我需要:

"Field1";"Field2"
"111";"222"
"222";"333"

XML:

<Import xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Category>
    <Record>
      <Field FieldName="Field1"> 
        <String>111</String>
      </Field>
      <Field FieldName="Field2">
        <String>222</String>
      </Field>
    </Record>
    <Record>
      <Field FieldName="Field1"> 
        <String>333</String>
      </Field>
      <Field FieldName="Field2">
        <String>444</String>
      </Field>
    </Record>
  </Category>
</Import>
xml powershell csv
1个回答
0
投票

您可以迭代每个Record,创建一个PSObject,然后使用PSObject添加FieldNameString属性:

Add-Member

output.csv

Add-Member
© www.soinside.com 2019 - 2024. All rights reserved.