2012-07-05 18 views
6

私はi「はValute ID = 『826』」の基準で「公称」と「バリュー」でのデータを取得することができますどのようにこのデータを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> 
... 

およびその他の

私のため申し訳ありません を持っています英語

答えて

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 
関連する問題