Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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# XmlSerializer反序列化列表仅获取第一项_C#_Xml - Fatal编程技术网

C# XmlSerializer反序列化列表仅获取第一项

C# XmlSerializer反序列化列表仅获取第一项,c#,xml,C#,Xml,这是我从API获得的XML: <?xml version="1.0" encoding="UTF-8"?> <response> <datetime>2015-05-18 11:37:32</datetime> <count>2</count> <smsleft>40920</smsleft> <sms><smsid>535041581</smsid><sm

这是我从API获得的XML:

<?xml version="1.0" encoding="UTF-8"?>

<response>
<datetime>2015-05-18 11:37:32</datetime>
<count>2</count>
<smsleft>40920</smsleft>
<sms><smsid>535041581</smsid><smsid>535041583</smsid></sms>
</response>
但是,我在结果中只得到列表中的第一个SmsID,而不是响应中的2个SmsID


我做错了什么?

您已将
SmsID
声明为
字符串,因此只能反序列化单个字符串。您已将
Sms
声明为列表,但输入文件中只存在一个列表

尝试:

[XmlRoot(“响应”)]
公共类SMS响应
{
[XmlArray(“sms”)]
[XmlArrayItem(“smsid”)]
公共列表SmsID{get;set;}
}

您已将
SmsID
声明为
字符串
,因此只能反序列化单个字符串。您已将
Sms
声明为列表,但输入文件中只存在一个列表

尝试:

[XmlRoot(“响应”)]
公共类SMS响应
{
[XmlArray(“sms”)]
[XmlArrayItem(“smsid”)]
公共列表SmsID{get;set;}
}

您已将
SmsID
声明为
字符串
,因此只能反序列化单个字符串。您已将
Sms
声明为列表,但输入文件中只存在一个列表

尝试:

[XmlRoot(“响应”)]
公共类SMS响应
{
[XmlArray(“sms”)]
[XmlArrayItem(“smsid”)]
公共列表SmsID{get;set;}
}

您已将
SmsID
声明为
字符串
,因此只能反序列化单个字符串。您已将
Sms
声明为列表,但输入文件中只存在一个列表

尝试:

[XmlRoot(“响应”)]
公共类SMS响应
{
[XmlArray(“sms”)]
[XmlArrayItem(“smsid”)]
公共列表SmsID{get;set;}
}

将您的代码更改为

[XmlRoot("response")]
public class SMSResponse
{
    [XmlElement("sms")]
    public SMS Sms { get; set; }
}

public class SMS
{
    [XmlElement("smsid")]
    public List<string> SmsID { get; set; }
}
[XmlRoot(“响应”)]
公共类SMS响应
{
[XmlElement(“sms”)]
公共SMS{get;set;}
}
公共类短信
{
[XmlElement(“smsid”)]
公共列表SmsID{get;set;}
}

将您的代码更改为

[XmlRoot("response")]
public class SMSResponse
{
    [XmlElement("sms")]
    public SMS Sms { get; set; }
}

public class SMS
{
    [XmlElement("smsid")]
    public List<string> SmsID { get; set; }
}
[XmlRoot(“响应”)]
公共类SMS响应
{
[XmlElement(“sms”)]
公共SMS{get;set;}
}
公共类短信
{
[XmlElement(“smsid”)]
公共列表SmsID{get;set;}
}

将您的代码更改为

[XmlRoot("response")]
public class SMSResponse
{
    [XmlElement("sms")]
    public SMS Sms { get; set; }
}

public class SMS
{
    [XmlElement("smsid")]
    public List<string> SmsID { get; set; }
}
[XmlRoot(“响应”)]
公共类SMS响应
{
[XmlElement(“sms”)]
公共SMS{get;set;}
}
公共类短信
{
[XmlElement(“smsid”)]
公共列表SmsID{get;set;}
}

将您的代码更改为

[XmlRoot("response")]
public class SMSResponse
{
    [XmlElement("sms")]
    public SMS Sms { get; set; }
}

public class SMS
{
    [XmlElement("smsid")]
    public List<string> SmsID { get; set; }
}
[XmlRoot(“响应”)]
公共类SMS响应
{
[XmlElement(“sms”)]
公共SMS{get;set;}
}
公共类短信
{
[XmlElement(“smsid”)]
公共列表SmsID{get;set;}
}
[XmlRoot(“响应”)]
公共类SMS响应
{
[XmlArray(ElementName=“sms”)]
[XmlArrayItem(ElementName=“smsid”,Type=typeof(smsid))]
公共列表Sms{get;set;}
}
公共类smsid
{
[XmlText]
公共字符串SmsID{get;set;}
}
[XmlRoot(“响应”)]
公共类SMS响应
{
[XmlArray(ElementName=“sms”)]
[XmlArrayItem(ElementName=“smsid”,Type=typeof(smsid))]
公共列表Sms{get;set;}
}
公共类smsid
{
[XmlText]
公共字符串SmsID{get;set;}
}
[XmlRoot(“响应”)]
公共类SMS响应
{
[XmlArray(ElementName=“sms”)]
[XmlArrayItem(ElementName=“smsid”,Type=typeof(smsid))]
公共列表Sms{get;set;}
}
公共类smsid
{
[XmlText]
公共字符串SmsID{get;set;}
}
[XmlRoot(“响应”)]
公共类SMS响应
{
[XmlArray(ElementName=“sms”)]
[XmlArrayItem(ElementName=“smsid”,Type=typeof(smsid))]
公共列表Sms{get;set;}
}
公共类smsid
{
[XmlText]
公共字符串SmsID{get;set;}
}
[XmlRoot("response")]
public class SMSResponse
{
    [XmlArray(ElementName = "sms")]
    [XmlArrayItem(ElementName = "smsid", Type = typeof(smsid))]
    public List<smsid> Sms { get; set; }
}

public class smsid
{
    [XmlText]
    public string SmsID { get; set; }
}