2
这是我对代码的看法(Linq查询可以直接填充字典对象吗?)。如何遍历来自Linq查询的XML元素结果集
XElement doc = XElement.Load(data.xml);
string Element = "KeyNode";
string SearchString = "Dominion";
Dictionary<string, string> QueryData = new Dictionary<string, string>();
var query = from child in doc.Descendants(Element)
where SearchString == child.Value
select pn.Parent.Elements();
foreach(XElement x in query)
{
QueryData.Add(x.Name.ToString(),x.Value);
}
谢谢你的字典部分,但尝试它我需要迭代初始结果。 – Zion 2010-02-02 20:13:57
就是这样!叛军在那里,我相信天行者和他们在一起! 非常感谢,扁平化了诀窍。如果你能解释为什么我的结果集产生了嵌套的枚举数? – Zion 2010-02-02 20:31:41
假装你的select语句是'select child.Name.ToString()'。你会得到一个'IEnumerable'。你真正的选择语句返回一系列元素(父母的所有孩子)。由于查询的最终结果是每次调用select语句时产生的一系列值,并且每个select语句都返回一系列元素,所以最终会得到一系列元素序列。 –
2010-02-02 20:41:35