首页 > 解决方案 > 如何根据 XML 属性捕捉 XML 的值

问题描述

我有一个示例 XML 文件,如下所示,

<?xml version="1.0" encoding="ISO-8859-1"?>
<Results>
    <Test testres="Fail">
        <Id>1234</Id>
        <mailId>Person1</mailId>
        <empName>Person1Name</empName>      
    </Test>
    <Test testres="Pass">
        <Id>4321</Id>
        <mailId>Person2</mailId>
        <empName>Person2Name</empName>      
    </Test>
</Results>

我想获得testres = "Fail". 我在下面的脚本中尝试过的 ID。

$XMLfile = 'D:\Powershells\PowershellXML\demo.xml'
[XML]$Results = Get-Content $XMLfile

$HowManyTimes = 1

for ($i=1; $i -le $HowManyTimes; $i++)
{

    foreach($Result in $Results.Results)
    {       
        Write-Host "Employee mail Id :" $Results.Results.Test | Where-Object  {$_.testres -eq "Fail"}.ID
    }
}

请建议我需要在脚本中进行的更改

标签: powershellpowershell-3.0

解决方案


推荐阅读