powershell 提取两个 xml 标签之间的值并保存到 txt 文件

powershell to extract values between two xml tags and save to a txt file

在 PowerShell 中,我试图检索 2 个 XML 标记之间的所有值。

示例代码显示:

<Report name="result_many fail" summary="20" yes=19 no="1" finished=20>

所以我的 txt 文件应该是这样的:

姓名:result_many失败,总结20,是19,否1,完成20

$text = Get-Content C:\Path\To\File.xml
$text | Select-Xml -XPath '//Report[@finished]
>result.txt

但这行不通

有人可以给我提示吗?

示例中您的属性需要引号并且没有结束标记</Report>

无论如何,使用Select-Xml捕获该节点的文本并将其输出到文本文件,你可以

('<Report name="result_many fail" summary="20" yes="19" no="1" finished="20">blablabla</Report>' | 
Select-Xml -XPath '//Report[@finished]').Node.InnerText |
Set-Content -Path 'D:\Test\result.txt'

代替.InnerText你也可以写成.'#text'