如何从PowerShell获取xml的值?

Far*_*ara 13 xml powershell

我有这个数据的XML文件

<?xml version="1.0" encoding="windows-1251" ?>
<ValCurs Date="06/06/2012" name="????? ?????">
 <Valute ID="036">
   <CharCode>AUD</CharCode> 
   <Nominal>1</Nominal> 
   <Name>??????? ?????????</Name> 
   <Value>4,6430</Value> 
  </Valute>
 <Valute ID="944">
   <CharCode>AZN</CharCode> 
   <Nominal>1</Nominal> 
   <Name>?????? ???????&#1207;??</Name> 
   <Value>6,0677</Value> 
  </Valute>
 <Valute ID="826">
   <CharCode>GBP</CharCode> 
   <Nominal>1</Nominal> 
   <Name>????-????????? ??????????</Name> 
   <Value>7,3156</Value> 
   </Valute>
...
Run Code Online (Sandbox Code Playgroud)

和别的

如何通过'Valute ID ="826"'标准获取'Nominal'和'Value'中的数据对不起我的英语

Joe*_*oey 30

您只需将字符串转换为[xml]以下内容即可读取XML :

$xml = [xml](Get-Content foo.xml)
Run Code Online (Sandbox Code Playgroud)

然后你可以使用

$xml.ValCurs.Valute | Where-Object {$_.ID -eq 826} | Select-Object Nominal,Value
Run Code Online (Sandbox Code Playgroud)

或更短:

$xml.ValCurs.Valute | ? {$_.ID -eq 826} | select Nominal,Value
Run Code Online (Sandbox Code Playgroud)