2
private ResultReferences<T> GetList<T>(string result) where T : class
{
TextReader reader = new StringReader(result);
XmlSerializer serializer = new XmlSerializer(typeof(ResultReferences<T>));
ResultReferences<T> response = (ResultReferences<T>)serializer.Deserialize(reader);
return response;
}
это функция, которая анализирует строку XML:C# XMLSerializer возвращает нуль
и это мой XML-строка:
<?xml version="1.0" encoding="UTF-8"?>
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.com/some-api/ getCurrencyRate.xsd">
<rates date="2015-07-07">
<item cur1="USD" cur2="RUR">57.8215</item>
<item cur1="EUR" cur2="RUR">63.9852</item>
<item cur1="EUR" cur2="USD">1.1177</item>
<item cur1="USD" cur2="EUR">0.9037</item>
</rates>
</result>
точно в линии:
ResultReferences<T> response = (ResultReferences<T>)serializer.Deserialize(reader);
возвращает null, почему? мой xml неправильно?
Вот сериализованный код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
namespace mynamespace
{
[XmlType(TypeName = "currency")]
public class oCurrency
{
[XmlAttribute]
public long id { get; set; }
[XmlAttribute]
public string name { get; set; }
}
}
Можете ли вы показать, что именно вы используете в этом случае и код этого объекта? –
@ Pierre-LucPineault обновлен .... – user3112115
Я ничего не вижу в 'oCurrency' под названием« item ». –