C# WPF读取XML属性

C# WPF读取XML属性,c#,xml,wpf,linq,C#,Xml,Wpf,Linq,下面是我的XML文件的一个示例 <MyApp version="1.01"> <MySettings> <Setting1>1</Setting1> <Setting2>2</Setting2> </MySettings> </MyApp> 问题是我的where语句不起作用。谢谢您正在寻找这样的产品: myXML.Descendants("MyApp") .Wh

下面是我的XML文件的一个示例

<MyApp version="1.01">
   <MySettings>
      <Setting1>1</Setting1>
      <Setting2>2</Setting2>
   </MySettings>
 </MyApp>

问题是我的where语句不起作用。谢谢

您正在寻找这样的产品:

myXML.Descendants("MyApp")
.Where(x => (string)x.Attribute("version") == "1.0")
.Select( ... );

您可以导航到所需的部分(取决于版本),并使用以下代码段作为字典获取设置:

string xml = @"<MyApp version='1.01'>
   <MySettings>
      <Setting1>1</Setting1>
      <Setting2>2</Setting2>
   </MySettings>
 </MyApp>";
 var doc= XDocument.Parse(xml);
var settings = doc.Descendants("MyApp")
                  .Where(x => (string)x.Attribute("version") == "1.0")
                  .Descendants("MySettings")
                  .Elements()
                  .ToDictionary(x => x.Name.ToString(), x => (string)x);
stringxml=@”
1.
2.
";
var doc=XDocument.Parse(xml);
变量设置=文档子体(“MyApp”)
。其中(x=>(字符串)x.Attribute(“版本”)==“1.0”)
.后代(“MySettings”)
.要素()
.ToDictionary(x=>x.Name.ToString(),x=>(字符串)x);
回报是:

Setting1 | 1 Setting2 | 2 设置1 | 1 设置2 | 2 Setting1 | 1 Setting2 | 2