Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 正在读取ArrayList中的项_.net_Xml_Powershell_Xpath_Arraylist - Fatal编程技术网

.net 正在读取ArrayList中的项

.net 正在读取ArrayList中的项,.net,xml,powershell,xpath,arraylist,.net,Xml,Powershell,Xpath,Arraylist,我们得到了如下相同的XML: <?xml version="1.0" encoding="utf-8"?> <Configuration> <Format_Version>1.0</Format_Version> <Reporting> </Reporting> <Jobs> <Job> <Name>SpaceCheck<

我们得到了如下相同的XML:

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <Format_Version>1.0</Format_Version>
  <Reporting>
  </Reporting>
  <Jobs>
        <Job>
                <Name>SpaceCheck</Name>
                <Job_Type>SpaceCheck</Job_Type>
                <Schedule>
                    <Start_Time>0300</Start_Time>
                    <Frequency>24 hours</Frequency>
                    <Max_Run_Time_In_Seconds>10</Max_Run_Time_In_Seconds>
                </Schedule>
                <Parameters>
                    <Drive>C</Drive>
                    <Drive>D</Drive>
                </Parameters>
        </Job>
        <Job>
                <Name>CPUCheck</Name>
                <Job_Type>UsageMonitor</Job_Type>
                <Schedule>
                    <Frequency>3 minutes</Frequency>
                </Schedule>
                <Parameters>
                    <Threshold>90%</Threshold>
                    <Duration>10 minutes</Duration>
                </Parameters>
        </Job>
        <Job>
                <Name>overloaded CPUCheck</Name>
                <Job_Type>CPUcheck2</Job_Type>
                <Schedule>
                    <Frequency>3 minutes</Frequency>
                </Schedule>
                <Parameters>
                    <Threshold>80%</Threshold>
                    <Duration>50 minutes</Duration>
                </Parameters>
            </Job>
        <Job>
          <Name>Connection</Name>
          <Job_Type>Connectivity</Job_Type>
          <Schedule>
            <Start_Time>1900</Start_Time>
            <Frequency>1</Frequency>
            <Maximum_Runtime>30</Maximum_Runtime>
          </Schedule>
          <Parameters>
            <ToErrInHours>1</ToErrInHours>
            <Days>1</Days>
            <Threshold>70</Threshold>
          </Parameters>
        </Job>
      </Jobs>
    </Configuration>

不确定为什么希望SelectNodes方法处理$item-它是一个字符串,是来自$\的结果。InnerText,请检查以下代码:

foreach ($item in $xdoc.Configuration.Jobs.job | % { $_.InnerText })
#| Where-Object {$_.Name }
{
    $item | Get-Member -MemberType Method -Name Select*
    $item -is [String]
}
我建议改用Select Xml cmdlet:

Select-Xml -Xml $xdoc -XPath //Job | 
    ForEach-Object { $null = $JobName.Add($_.Node.Name) }

非常感谢你。他们两个都在工作。我对PowerShell和编程也是新手。曾担任手工QA,刚加入自动化程序员团队。
Select-Xml -Xml $xdoc -XPath //Job | 
    ForEach-Object { $null = $JobName.Add($_.Node.Name) }