私の問題は、プログラムが XML ファイルからデータを取得してリストに入れていないことです。
データは問題なく保存できますが、元に戻すことはできません。
ここに私の保存機能があります
public void Save_Data_Click(object sender, EventArgs e)
{
XmlSerializer PSR = new XmlSerializer(typeof(Pickup));
XmlSerializer DSR = new XmlSerializer(typeof(Delivery));
TextWriter PickupStream = new StreamWriter(@"Pickup Save Data.xml");
TextWriter DeliveryStream = new StreamWriter(@"Delivery Save Data.xml");
PSR.Serialize(PickupStream, thePickup);
DSR.Serialize(DeliveryStream, theDelivery);
DeliveryStream.Close();
PickupStream.Close();
MessageBox.Show("All data saved!");
}
これが私のxmlロードコードです
XmlSerializer SerializerObj = new XmlSerializer(typeof(Pickup));
FileStream ReadFileStream = new FileStream(@"Pickup Save Data.xml", FileMode.Open, FileAccess.Read, FileShare.Read);
Pickup LoadedObj = (Pickup)SerializerObj.Deserialize(ReadFileStream);
ReadFileStream.Close();
ここに私のピックアップクラスがあります
namespace Vans
{
[Serializable]
public class Pickup
{
public List<Pickups> Pickups = new List<Pickups>();
public void addPickup(Pickups Pic)
{
Pickups.Add(Pic);
}
public List<String> listPickups()
{
List<String> listPickups = new List<string>();
foreach (Pickups pick in Pickups)
{
String pickupString = pick.ToString();
listPickups.Add(pickupString);
}
return listPickups;
}
public Pickups getPickup(int i)
{
int c = 0;
foreach (Pickups Pic in Pickups)
{
if (i == c)
return Pic;
c++;
}
return null;
}
}
}
マイデリバリークラスはピックアップクラスと同じです。
編集
<?xml version="1.0" encoding="utf-8"?>
<Pickup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Pickups>
<Pickups>
<pickupfirstname>dsf</pickupfirstname>
<pickuplastname>sdf</pickuplastname>
<pickupdeliveryaddress>sd</pickupdeliveryaddress>
<pickuptime>dsf</pickuptime>
</Pickups>
</Pickups>
</Pickup>
これはいくつかのサンプル XML コードです