WPF 读取 XML 属性
本文关键字:属性 XML 读取 WPF | 更新日期: 2023-09-27 17:56:16
这是我的XML文件的示例
<MyApp version="1.01">
<MySettings>
<Setting1>1</Setting1>
<Setting2>2</Setting2>
</MySettings>
</MyApp>
我想检查 XML 文件中的版本。 然后,如果版本签出,请查看MySettings.
中的元素 尝试使用 LINQ 执行此操作,但无法弄清楚。 以为会是这样的;
var settings = (
from x in myXML.Descendants("MyApp").Descendants("MySettings")
where (string)myXML.Descendants("MyApp").Attributes("version") == "1.0"
select new {...
问题是我的 where 语句不起作用。 谢谢
您可以使用以下代码段导航到所需的部分(取决于版本)并将设置作为字典获取:
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);
返回为:
设置1 |1设置2 |2
您正在寻找类似这样的东西:
myXML.Descendants("MyApp")
.Where(x => (string)x.Attribute("version") == "1.0")
.Select( ... );