gpt4 book ai didi

xml - PowerShell:带有 ConvertTo-XML 输出的自定义属性 XML 标签

转载 作者:数据小太阳 更新时间:2023-10-29 01:43:08 33 4
gpt4 key购买 nike

我正在 PowerShell 中创建一个新对象,使用哈希表来设置属性值。然后,我想使用 ConvertTo-XML 方法将对象导出为 XML 格式。

$hash = @{            
Processor = 'Intel'
Disk = '500GB'
Server = 'ABC'
Serial = '01234'
}

$specs = New-Object PSObject -Property $hash
Write-Output ($specs | ConvertTo-XML -notypeinformation).Save("C:\scripts\export.xml")

XML输出如下:

<Objects>
<Object>
<Property Name="Serial">a1b2c3</Property>
<Property Name="Server">ABC</Property>
<Property Name="Processor">Intel</Property>
<Property Name="Disk">500GB</Property>
</Object>
</Objects>

我想要的是按照以下方式格式化 XML 标记:

<Objects>
<Object>
<Serial>a1b2c3</Serial>
<Server>ABC</Server>
<Processor>Intel</Processor>
<Disk>500GB</Disk>
</Object>
</Objects>

然后,如果有一个很好的解决方案,是否还有一种方法可以自定义 Object(s) 标签?

谢谢。

最佳答案

我认为您无法通过 ConvertTo-Xml 实现目标。但是,您可以使用 here strings 来执行此操作。这是一种低技术但仍然很酷:

$hash = @{            
Processor = 'Intel'
Disk = '500GB'
Server = 'ABC'
Serial = '01234'
}

@"
<Objects>
<Object>$(foreach ($kvpair in $hash.GetEnumerator()) {
"`n <$($kvpair.Key)>$($kvpair.Value)</$($kvpair.Key)>"
})
</Object>
</Objects>
"@ > C:\scripts\export.xml

您可以使用 XML DOM 来创建此文档,但这样做的工作量更大,对于这样一个简单的文档,我认为 here string 方法效果很好。它也适用于任何类型的文本模板。

关于xml - PowerShell:带有 ConvertTo-XML 输出的自定义属性 XML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19935102/

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