【发布时间】:2009-11-20 18:33:01
【问题描述】:
我正在开发一个需要能够从 XML 文件加载对象属性的程序。这些属性可由用户配置,并且 XML 对我来说很有意义。
获取以下 XML 文档。
<?xml version="1.0" encoding="utf-8" ?>
<udpcommands>
<command name="requser">
<cvar name="reqchallege" value="false" />
</command>
<command name="reqprocs">
<cvar name="reqchallenge" value="false" />
</command>
</udpcommands>
我需要能够将值从上面的 cvar 加载到属性中。我认为 Linq-To-XML 会很适合它(我正在寻找 Linq 的应用程序以便我可以学习它)。我已经完成了一个 Linq-to-XML 查询,以根据名称选择正确的“命令”。我正在阅读 MSDN 寻求帮助。
以下代码 sn-p 进入一个构造函数,该构造函数接受参数“字符串名称”,该参数标识要提取的正确 XML <command>。
我希望有一个 linq 语句从给定部分名称的 XML 中提取每个 <cvar>,将所有内容转储到 IEnumerable。 或者,我可能正在寻找更好的选择.我真的对任何事情都持开放态度。我只是想使用 Linq,以便更好地学习它。
XElement doc = XElement.Load("udpcommands.xml");
IEnumerable<XElement> a = from el in doc.Elements()
where el.FirstAttribute.Value == name
select el;
foreach (var c in a)
{
Console.WriteLine(c);
}
上面的代码sn -p向控制台输出以下内容:
<command name="requser">
<cvar name="reqchallege" value="false" />
</command>
【问题讨论】:
标签: c# xml linq-to-xml