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

PowerShell如何提取XML标签属性值并导出保存到TXT文件

PowerShell 提取XML节点属性导出TXT解决方案

现有代码问题

  • XPath 表达式未闭合单引号,存在语法错误
  • Select-Xml 直接返回节点对象,未做格式转换就输出到文件,无法得到预期的文本内容
  • 未对节点的属性集合做遍历拼接,不符合要求的输出格式

前置校验

你提供的示例XML中yes=19未给属性值加引号,不符合标准XML语法,请先修正为yes="19",否则会出现XML解析错误。

完整可运行代码

# 读取并解析为XML对象,指定编码避免乱码
[xml]$xmlContent = Get-Content -Path "C:\Path\To\File.xml" -Encoding UTF8

# 匹配带finished属性的Report节点,提取节点本体
$reportNodes = $xmlContent | Select-Xml -XPath '//Report[@finished]' | Select-Object -ExpandProperty Node

$outputContent = @()
foreach ($node in $reportNodes) {
    # 遍历节点所有属性拼接格式
    $attrSegments = foreach ($attr in $node.Attributes) {
        if ($attr.Name -eq 'name') {
            "$($attr.Name): $($attr.Value)"
        } else {
            "$($attr.Name) $($attr.Value)"
        }
    }
    $outputContent += $attrSegments -join ', '
}

# 导出到TXT文件
$outputContent | Out-File -FilePath "result.txt" -Encoding UTF8

适配说明

如果你的XML中只有单个符合条件的Report节点,上述代码直接运行即可;如果存在多个符合条件的节点,每个节点的属性内容会单独占一行输出到TXT文件中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 19:39:01