Я извлекаю данные из сервиса restful, который возвращает XML в виде
<CollectionOfItems>
<Item>
<Param1>param1 value</Param1>
<Param2>param2 value</Param2>
</Item>
<Item>
<Param1>param1 value</Param1>
<Param2>param2 value</Param2>
</Item>
</CollectionOfItems>
. Этот метод я использую для использования сервиса rest
public object getMetaData(string uri, Type type)
{
//Create Object To Be Returned
object result = null;
//Create Web Request
HttpWebRequest request = WebRequest.Create(uri) as HttpWebRequest;
//Get Response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
if (request.HaveResponse && response != null)
{
using (Stream reader = response.GetResponseStream())
{
DataContractSerializer xmlSer = new DataContractSerializer(type);
result = xmlSer.ReadObject(reader);
}
}
}
return result;
}
У меня есть класс для соответствия <CollectionOfItems>
[CollectionDataContract(Name = "CollectionOfItems", Namespace = "http://matchingnamespace")]
public class CollectionOfItems: List<Item>
{
}
И класс для хранения <Item>
[DataContract(Name="Item")]
public class Item
{
[DataMember(Name="Param1")]
public string param1{ get; set; }
[DataMember(Name="Param2")]
public string param2{ get; set; }
}
Моя проблема в том, что когда я связываю результат со списком Iв итоге получим объект с правильным количеством результатов, но я вижу результаты только в виде пустых строк.Кажется, у меня <CollectionOfItems>
с правильным значением <Item>
, но я не вижу значений для param1 или param2 и т. Д. ...