从PowerShell中仅获取XML中特定节点的值

时间:2018-04-11 10:42:26

标签: xml powershell

我的this.xml文件包含内容:

<Parameters>   
<Parameter IsEncrypted="False">
        <ParameterName>pTxtAppPoolNameRefbiq</ParameterName>
        <ParameterValue>MESDataAccess4.0</ParameterValue>   
</Parameter>   
<Parameter IsEncrypted="False">
        <ParameterName>pTxtFoldrSouceMediaLoc_OPCDA</ParameterName>
        <ParameterValue>C:\</ParameterValue>   
</Parameter> 
</Parameters>

现在,我想得到ParameterName = pTxtFoldrSouceMediaLoc_OPCDA的ParameterValue(“C:\”)。

截至目前我只尝试过:

$xml = [xml](Get-Content this.xml);
$xml.Parameters.Parameter | Where-Object {$_.ParameterName -eq pTxtFoldrSouceMediaLoc_OPCDA} | Select-Object ParameterValue;

但我得到的输出为:

ParameterValue                                                                                           
--------------                                                                                           
C:\

我需要的只是值"C:\"作为PowerShell中的输出。 如何编写PowerShell脚本以便仅获取该特定节点值?

感谢您办理登机手续。

1 个答案:

答案 0 :(得分:0)

试试这个:

($xml.Parameters.Parameter | Where-Object {$_.ParameterName -eq "pTxtFoldrSouceMediaLoc_OPCDA"}).ParameterValue