在 Windows 7 PC 上,我试图从数百个 xml 文件中包含的数据生成一个以逗号分隔的文本文件。每个 xml 文件都包含在其自己的唯一命名文件夹中,但 xml 文件的每个实例都具有相同的文件名“report.xml”
更清楚地说,文件夹/文件结构是这样的:
H:\Main_Folder\Folder_1\report.xml
H:\Main_Folder\Folder_2\report.xml
H:\Main_Folder\Folder_3\report.xml
...
xml 文件包含大量数据,但我只对几个数据项感兴趣,它们恰好是测量值。最终,我想要的输出是一个文本文件,它将为每个文件夹列出文件夹名称和 xml 文件中的两个测量值:
folder_1 , measurement_1 , measurement_2
folder_2 , measurement_1 , measurement_2
folder_3 , measurement_1 , measurement_2
...
在任何文件夹中,我都可以使用以下 PowerShell 代码从单个 xml 文件中获取我想要的值:
$xml = [xml](get-content report.xml)
$xml.Measurement[0].Value.'#text' + " , " + $xml.Measurement[1].Value.'#text'
上面的代码返回:
measurement_1 , measurement_2
此外,我可以在每个文件夹中移动并使用以下 PowerShell 代码输出文件夹名称:
PS H:\Main_Folder> Get-ChildItem Report.xml -Recurse | Split-Path -parent
执行时,这给了我:
folder_1
folder_2
folder_3
...
我需要一些帮助来弄清楚如何让所有这些一起工作以生成我想要的文本文件。非常感谢你的协助。