如何使用PowerShell转换XML属性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用PowerShell转换XML属性?相关的知识,希望对你有一定的参考价值。

我尝试从这里转换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>

答案

试试这个

$newContent = @()
$test=gc C:	empxmll.xml

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

  } else {
    $newContent += $Regel
  }
}

$newContent

以上是关于如何使用PowerShell转换XML属性?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用powershell从xml中获取属性值?

使用 Powershell .Net 方法将 XML 转换为 HTML

如何使用PowerShell更改XML Element属性的值?

Powershell:如何更新XML节点属性值的特定字符

如何在PowerShell中添加XML名称空间作为属性前缀?

如何在 PowerShell 中使用 XmlReader 流式传输大/巨大的 XML 文件?