gpt4 book ai didi

xml - 在powershell中对xml文档进行排序

转载 作者:数据小太阳 更新时间:2023-10-29 02:05:45 26 4
gpt4 key购买 nike

我想使用 powershell 对以下 xml 文档进行排序。

<car>
<germany>
<manufacturer>Opel</manufacturer>
<manufacturer>BMW</manufacturer>
<manufacturer>Benz</manufacturer>
</germany>
<japan>
<manufacturer>Nissan</manufacturer>
<manufacturer>Daihatsu</manufacturer>
</japan></car>

所以德国和日本里面的元素应该排序。

理想情况下,我想从文件系统中读取 xml,并用已排序的文档覆盖现有文档。

最佳答案

可能有很多解决方案。一个快速是这个:

$xml = [xml]"<car>
<germany>
<manufacturer>Opel</manufacturer>
<manufacturer>BMW</manufacturer>
<manufacturer>Benz</manufacturer>
<manufacturer>b</manufacturer>
<manufacturer>a</manufacturer>
<manufacturer>c</manufacturer>
</germany>
<japan>
<manufacturer>Nissan</manufacturer>
<manufacturer>Daihatsu</manufacturer>
</japan></car>"

$g = $xml.car.germany| select-xml 'manufacturer' | Select-Object -expand Node | sort '#text'
$j = $xml.car.japan | select-xml 'manufacturer' | Select-Object -expand Node | sort '#text'

@"
<car>
<germany>
$( ($g | % { $_.OuterXml}) -join "`n`t" )
</germany>
<japan>
$( ($j | % { $_.OuterXml}) -join "`n`t" )
</japan></car>
"@

请注意,我使用 Select-Xml 从 xml 中提取制造商,因为 $xml.car.germany.manufacturer 仅返回字符串数组(您可能遇到了问题接着就,随即)。即使借助 PsBase 属性,我也无法获得原始对象。这就是我使用 Select-Xml 的原因。

关于xml - 在powershell中对xml文档进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3973827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com