如何使用Powershell在XML中转换属性?

时间:2018-09-12 11:50:40

标签: xml powershell format

我尝试从中转换xml:

<test>
    <sub ID="126754">
        <name>test</name>
    </sub>
    <sub ID="126769">
        <name>test2</name>
    </sub>
</test>

对此:

<test>
    <sub>
        <ID>126754</ID>
        <name>test</name>
    </sub>
    <sub>
        <ID>126769</ID>
        <name>test2</name>
    </sub>
</test>

我可以读取并循环播放文件,但是找不到如何将ID=nnnnnn转换为<ID>nnnnnn</ID>

1 个答案:

答案 0 :(得分:1)

尝试一下

$newContent = @()
$test=gc C:\temp\xmll.xml

ForEach($Regel In $Text) {
  if($Regel -match "ID=\d{6}") {
    $newContent += "    <sub>"
    $newContent += "        <ID>$($Regel.Substring(8, 10))</ID>"

  } else {
    $newContent += $Regel
  }
}

$newContent