XmlNodeReader возвращает {None}



В настоящее время у меня возникли проблемы с десериализацией XmlDocument из вызова веб-службы, вот мой код : -




public void getTest(XmlDocument requestDoc)
{
XmlDocument results = new XmlDocument();
XmlSerializer serial = new XmlSerializer(typeof(DataRequest));
DataRequest req;
XmlNodeReader reader = new XmlNodeReader(requestDoc.DocumentElement);
req = (DataRequest)serial.Deserialize(reader);
response.write(req.toString());
}


Теперь проблема, с которой я сталкиваюсь, заключается в том, что XmlNodeReader просто содержит "{None}", когда я перехожу в debug, requestDoc определенно имеет ожидаемую структуру XML, какие-либо идеи?



С уважением
Гиб

369   1  

1 ответ:

"none", вероятно, просто означает, что он еще не начал итерацию и находится в BOF (за неимением лучшего термина). Это все равно должно сработать. Обычно, если это не так, это означает, что пространства имен неверны-дважды проверьте наличие xmlns в исходном коде.

Это прекрасно работает, например:

public class Test
{
    static void Main()
    {
        var doc = new XmlDocument();
        doc.LoadXml(@"<Test foo=""bar""></Test>");
        var ser = new XmlSerializer(typeof(Test));
        using (var reader = new XmlNodeReader(doc.DocumentElement))
        {
            var test = (Test)ser.Deserialize(reader);
            Console.WriteLine(test.Foo);
        }

    }
    [XmlAttribute("foo")]
    public string Foo { get; set; }
}

Comments

    Ничего не найдено.