2012-07-05 137 views
6

我有這個數據如何通過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> 
... 

我怎麼能在「名義」和「價值」獲得的數據由「Valute ID =‘826’」標準的XML文件 對不起,我英語

回答

18

你可以簡單地通過鑄造字符串[xml]讀取XML:

$xml = [xml](Get-Content foo.xml) 

然後你可以使用

$xml.ValCurs.Valute | Where-Object {$_.ID -eq 826} | Select-Object Nominal,Value 

或更短:

$xml.ValCurs.Valute | ? {$_.ID -eq 826} | select Nominal,Value