You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell读取嵌套结构不一致的XML并输出列格式的问题

调整后的可运行代码

Select-Xml -Path D:\Temp\meta.xml -XPath '/EntityType/Property' | ForEach-Object {
    $currentNode = $_.Node
    # 处理嵌套的Annotation节点,匹配对应Term取值,无匹配则返回空
    $referenceName = ($currentNode.Annotation | Where-Object {$_.Term -eq 'Ref.ReferenceName'}).String
    $displayName = ($currentNode.Annotation | Where-Object {$_.Term -eq 'Display.DisplayName'}).String
    # 构造结构化对象用于列输出
    [PSCustomObject]@{
        PropertyName = $currentNode.Name
        PropertyType = $currentNode.Type
        Nullable = if ($currentNode.Nullable) { $currentNode.Nullable } else { 'true' }
        ReferenceName = $referenceName
        DisplayName = $displayName
    }
} | Format-Table -AutoSize

说明

你之前的代码没有对嵌套的Annotation节点做属性提取,直接输出节点对象才导致格式混乱。上述代码会把所有字段统一展开为列格式,没有对应Annotation的节点相关字段会自动留空,保证所有行结构一致。
如果需要将结果导出为CSV文件,只需将末尾的Format-Table -AutoSize替换为Export-Csv -Path "D:\输出结果.csv" -Encoding UTF8 -NoTypeInformation即可。

内容的提问来源于stack exchange,提问作者SomeGuy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:48:03