当前位置:  开发笔记 > 编程语言 > 正文

LINQ to XML新手问题:返回多个结果

如何解决《LINQtoXML新手问题:返回多个结果》经验,为你挑选了1个好方法。

问候!

我正在努力绕着LINQ缠头.如果我有一些这样的XML加载到XDocument对象中:


    
        
    
    
        
        
        
    
    
        
        
    

我想获取Group元素的所有Item子元素的属性值.这是我的查询的样子:

var results = from thegroup in l_theDoc.Elements("Root").Elements(groupName)
              select new
              { 
                 attrib1_val = thegroup.Element("Item").Attribute("attrib1").Value,      
                 attrib2_val = thegroup.Element("Item").Attribute("attrib2").Value,
              };

该查询有效,但是如果例如groupName变量包含"GroupB",则只返回一个结果(第一个Item元素)而不是三个.我错过了什么吗?



1> aku..:
XElement e = XElement.Parse(testStr);

string groupName = "GroupB";
var items = from g in e.Elements(groupName)
            from i in g.Elements("Item")
            select new {
                           attr1 = (string)i.Attribute("attrib1"),
                           attr2 = (string)i.Attribute("attrib2")
                       };

foreach (var item in items)
{
    Console.WriteLine(item.attr1 + ":" + item.attr2);
}

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有