Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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 Web响应_C#_Xml_Xmlserializer - Fatal编程技术网

C# XmlSerializer Web响应

C# XmlSerializer Web响应,c#,xml,xmlserializer,C#,Xml,Xmlserializer,我有很多名称的XML,如列表: <apelidos> <apelido>Casmilo</apelido> <apelido>Castro</apelido> </apelidos> 但是它不起作用,我用XML编写了同样的代码,没有列表,它工作得很好如果您只需要阅读apelido标记的内容,那么在使用时会快得多。例如: var xml = @"<apelidos>

我有很多名称的XML,如列表:

<apelidos>
    <apelido>Casmilo</apelido>
    <apelido>Castro</apelido>
</apelidos>

但是它不起作用,我用XML编写了同样的代码,没有列表,它工作得很好

如果您只需要阅读
apelido
标记的内容,那么在使用时会快得多。例如:

var xml = @"<apelidos>
                <apelido>Casmilo</apelido>
                <apelido>Castro</apelido>
            </apelidos>";

var doc = XDocument.Parse(xml);
var apelidos = from apelido in doc.Descendants("apelido")
               select apelido.Value;
现在成功了! 我这样做:

[Serializable()]
public class apelidos
{
    [System.Xml.Serialization.XmlElement("apelido")]
    public List<string> apelido { get; set; }
}

得到的错误是什么?没有错误,只是没有取消序列化XML!XmlArrayItem引用的是“apelido”,它不应该是“apelido”吗?此外,在这种情况下,类apelido应该将XmlText放在apelidoNome上,或者可以使用字符串列表而不是特殊类;)@user1887732:您在这里给出的XML有多完整?另外,与其在这里使用var作为结果,也许您可以让它对我们更友好一点,并显示您期望的类型?Icepickle,我尝试了以下方法:
code[XmlArray(“apelidos”)][XmlArrayItem(“apelido”)]public List apelido{get;set;}
但它也不起作用。我如何用这种方法获取在线XML?我做到了,但我的归来不是“阿皮利多”名单,对吧?没错。正如我所说,它是一个
IEnumerable
。要获取apelido对象的列表,您需要执行以下操作:
var-apelidos=(从in-doc.subjections(“apelido”)选择new-apelido{apelidoNome=a.Value})。ToList()
var xml = @"<apelidos>
                <apelido>Casmilo</apelido>
                <apelido>Castro</apelido>
            </apelidos>";

var doc = XDocument.Parse(xml);
var apelidos = from apelido in doc.Descendants("apelido")
               select apelido.Value;
HttpWebRequest request = WebRequest.Create(uri) as HttpWebRequest;

WebResponse response = request.GetResponse();
var doc = XDocument.Load(response.GetResponseStream());
[Serializable()]
public class apelidos
{
    [System.Xml.Serialization.XmlElement("apelido")]
    public List<string> apelido { get; set; }
}
HttpWebRequest request = WebRequest.Create(uri)
           as HttpWebRequest;

        XmlSerializer ser = new XmlSerializer(objetoLista.GetType());

        WebResponse response = request.GetResponse();
        var result = ser.Deserialize(response.GetResponseStream());

        return result;