C# 我可以直接将xml反序列化到列表中吗

C# 我可以直接将xml反序列化到列表中吗,c#,restsharp,xml-deserialization,C#,Restsharp,Xml Deserialization,这可能是一个愚蠢的无趣问题,但请容忍我=) 在我的程序中,我收到一段xml,类似于: <markers> <marker id="35" name="Test1" address="anyway123" type="event"/> <marker id="370" name="Test2" address="" type="event"/> <marker id="251" name="Test3" ad

这可能是一个愚蠢的无趣问题,但请容忍我=)

在我的程序中,我收到一段xml,类似于:

<markers>
        <marker id="35" name="Test1" address="anyway123" type="event"/>
        <marker id="370" name="Test2" address="" type="event"/>
        <marker id="251" name="Test3" address="somewhere 1337" type="com"/>
</markers>
我们将其称为“EventClass”,然后简单地说:

那么,我可以简单地这样说: List eventList=“XMLStuff”

如果是的话,XML内容需要什么?xD

问候,,
-Logan=)

如果您愿意对类进行一些修改,可以使用标准的
XmlSerializer

  • XML是区分大小写的,因此您应该为属性使用小写名称(
    id
    name
    ,等等)
  • 使用数据类的数组创建包含类
  • 将属性
    [XmlRoot(“标记”)]
    添加到包含的类中
  • 将属性
    [xmlement(“marker”)]
    添加到数组属性
大概是这样的:

private int id;
private string name;
private string address;
private string type;

public int Id {
    get {
        return id;
    }
    set {
        id = value;
    }
}
public string Name {
    get {
        return name;
    }
    set {
        name = value;
    }
}
public string Address {
    get {
        return address;
    }
    set {
        address = value;
    }
}
public string Type {
    get {
        return type;
    }
    set {
        type = value;
    }
}
[XmlRoot("markers")]
public class EventList
{
    [XmlElement("marker")]
    public List<EventClass> EventClasses {get; set;}
}


public class EventClass
{
    public int id {get; set;}
    public string name {get; set;}
    public string address {get; set;}
    public string type {get; set;}
}
[XmlRoot(“标记”)]
公共类事件列表
{
[XmlElement(“标记”)]
公共列表事件类{get;set;}
}
公共类事件类
{
公共int id{get;set;}
公共字符串名称{get;set;}
公共字符串地址{get;set;}
公共字符串类型{get;set;}
}

是的,你可以。而且你知道你要寻找的和平是如何命名的:反序列化器。哦,我之前在谷歌上搜索过(相当多),但我没有发现那个,你是对的,这是一个dup。我有什么办法可以这样标记它吗?