【发布时间】:2021-10-30 17:48:57
【问题描述】:
我有以下代码:
$xmlFile = 'C:\Users\kraer\Desktop\bom.xml'
[xml]$xml = Get-Content $xmlFile
$xml.bom.components.component | ForEach-Object {
$finalObject = [PSCustomObject]@{
'Name' = $_.name
'Version' = $_.version
'License' = $_.licenses.license.id
}
Write-Output $finalObject
}
现在我想将我的 $finalObject 转换为 MarkDown 表。这里有什么可能吗?
对于另一个问题,我收到了这个答案,但现在它不适用于我的代码。
function ConvertTo-MarkDownTable {
[CmdletBinding()] param(
[Parameter(Position = 0, ValueFromPipeLine = $True)] $InputObject
)
Begin { $Init = $True }
Process {
if ( $Init ) {
$Init = $False
$_.PSObject.Properties.Name -Join '|'
$_.PSObject.Properties.ForEach({ '-' }) -Join '|'
}
$_.PSObject.Properties.Value -Join '|'
}
}
您还有其他解决方案吗?
感谢您的帮助
【问题讨论】:
-
你可能打电话给
ConvertTo-MarkDownTable $finalObject?将 ConvertTo-MarkDownTable 函数内的所有$_更改为$InputObject -
“它不适用于我的代码。” - 请告诉我们您如何调用(并将参数传递给)
ConvertTo-MarkDownTable -
我们还没有收到您的来信.. 我的回答解决了您的问题吗?如果是这样,请通过单击左侧的 ✓ 图标来考虑accepting。这将帮助其他有类似问题的人更轻松地找到它,并有助于激励其他人回答您将来可能遇到的任何问题。
-
抱歉,这几天我很忙。您的回答对我帮助很大,非常感谢。
标签: powershell scripting type-conversion markdown