Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何循环一组元素?_C#_Xml_Linq To Xml_Xelement - Fatal编程技术网

C# 如何循环一组元素?

C# 如何循环一组元素?,c#,xml,linq-to-xml,xelement,C#,Xml,Linq To Xml,Xelement,考虑到上面的XML,如果每个子组都是相同的,只是值不同,那么如何迭代“lastvisitors”元素中的每个元素 //Load latest visitors. var visitorXML = xml.Element("ipb").Element("profile").Element("latestvisitors"); 现在我已经捕获了包含我需要的所有内容的XElement。有没有办法通过元素循环来获得我需要的东西 我有一个名为Visitor的POCO对象,它的唯一目的是保存必要的信息 u

考虑到上面的XML,如果每个子组都是相同的,只是值不同,那么如何迭代“lastvisitors”元素中的每个元素

//Load latest visitors.
var visitorXML = xml.Element("ipb").Element("profile").Element("latestvisitors");
现在我已经捕获了包含我需要的所有内容的XElement。有没有办法通过元素循环来获得我需要的东西

我有一个名为Visitor的POCO对象,它的唯一目的是保存必要的信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SharpDIC.Entities
{
    public class Visitor
    {
        public string ID { get; set; }
        public string Name { get; set; }
        public string Url { get; set; }
        public string Photo { get; set; }
        public string Visited { get; set; }
    }
}

再次感谢您的帮助。

只需执行linq查询,选择所有元素作为您的对象

var visitors = (from v in xml.Element("ipb").Element("profile")
                             .Element("latestvisitors").Elements()
               select new Visitor {
                   ID = (string)v.Element("id"),
                   Name = (string)v.Element("name"),

               }).ToList();

您可以在Linq中执行类似的操作:

XDocument xml = XDocument.Parse(xmlString);
var visitors = (from visitor in xml.Descendants("latestvisitors").Descendants("user")
                select new Visitor() {
                  ID = visitor.Element("id").Value,
                  Name = visitor.Element("name").Value,
                  Url = visitor.Element("url").Value,
                  Photo = visitor.Element("photo").Value,
                  Visited = visitor.Element("visited").Value
                });
这里唯一需要注意的是我没有做任何空检查