C# 我可以直接将xml反序列化到列表中吗
这可能是一个愚蠢的无趣问题,但请容忍我=) 在我的程序中,我收到一段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
<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。我有什么办法可以这样标记它吗?