xml 如何通过PowerShell从xml中获取值?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/11344179/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-06 13:33:41  来源:igfitidea点击:

How to get Value from xml by PowerShell?

xmlpowershell

提问by Fara

I have XML file with this data

我有包含此数据的 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>
...

and other

和别的

How can i get data in 'Nominal' and in 'Value' by 'Valute ID="826"' criteria Sorry for my english

我如何通过“价值 ID="826"”标准获取“名义”和“价值”中的数据对不起我的英语

回答by Joey

You can read XML simply by casting a string to [xml]:

您可以简单地通过将字符串转换为 来读取 XML [xml]

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

Then you can use

然后你可以使用

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

or shorter:

或更短:

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