オブジェクトのリストを逆シリアル化するのに問題があります。オブジェクトにシリアル化するオブジェクトを1つだけ取得できますが、リストを取得できません。私は空リストを返すだけのエラーはありません。デシリアライズの問題オブジェクトリスト
<locations>
<location locationtype="building" locationtypeid="1">
<id>1</id>
<name>Building Name</name>
<description>Description of Building</description>
</location>
</locations>
これは私が持っているクラスであると私はGetAll
方法でデシリアライズしています::このお試しください
[Serializable()]
[XmlRoot("location")]
public class Building
{
private string method;
[XmlElement("id")]
public int LocationID { get; set; }
[XmlElement("name")]
public string Name { get; set; }
[XmlElement("description")]
public string Description { get; set; }
[XmlElement("mubuildingid")]
public string MUBuildingID { get; set; }
public List<Building> GetAll()
{
var listBuildings = new List<Building>();
var building = new Building();
var request = WebRequest.Create(method) as HttpWebRequest;
var response = request.GetResponse() as HttpWebResponse;
var streamReader = new StreamReader(response.GetResponseStream());
TextReader reader = streamReader;
var serializer = new XmlSerializer(typeof(List<Building>),
new XmlRootAttribute() { ElementName = "locations" });
listBuildings = (List<Building>)serializer.Deserialize(reader);
return listBuildings;
}
}
としてリスト項目を作成することでしたエラーが出ていますか? –
シリアル化されていないリストはありますか? 'GetAll()'メソッドの場合は、シリアライザがクラスメソッドを呼び出すビジネスでは(まれに、まれにしかないと思われる)ためではありません。彼らは、オブジェクトのプロパティ値を保持するビジネスを行っています。 – 48klocs
エラーは表示されません。空のリストを返すだけです。私はGetAllメソッドをシリアライズしようとしていない、私はすべてのメソッドを使用してWebServiceから逆シリアル化し、その建物のオブジェクトを埋めるために使用しています。 –