我是 XMLSerialization 的新手,附近没有人可以帮助我,所以这是我想要 XMLSerialize/Deserialize 的一部分代码,以及一个错误本身。
我有一个三类:
public class Contacts
{
    public string country;
    public string city;
    public string street;
    public int houseNumber;
    public int flatNumber;
    public int phoneNumber;
    public Contacts(){...};
    public Contacts(string cntry, string city, string str, int houseNum, int flatNum, int phoneNum){...};
    public override string ToString(){...};
}
public class SimpleHuman
{
    public string firstName;
    public string lastName;
    public int age;
    public string sex;
    public Contacts contacts;
    public SimpleHuman(){...};
    public SimpleHuman(string fn, string ln, int a, string s, Contacts c){...};
    public override string ToString(){...};
}
public class doctor : SimpleHuman
{
    public DateTime contractExpirationDate;
    public int idNumber;
    public List<int> doctorPatients;
    public doctor(){...};
    public doctor(string name, string surname, int age, string sex, int doctorID, Contacts c):base(name, surname, age, sex, c){...};
    public override string ToString(){...};
}
问题是,当我尝试将类“医生”序列化为 XML 文件时:
XmlSerializer SerializerDoc = new XmlSerializer(typeof(doctor));
foreach(doctor d in doctorList)
{
    TextWriter WriteFileStream = new StreamWriter("doctors/" + d.firstName + d.lastName + ".xml");
    SerializerDoc.Serialize(WriteFileStream, d);
    WriteFileStream.Close();
}
我在创建 TextWriter 时遇到此错误(来自以下俄罗斯的翻译):
Clinic.launchMenu() в d:\Dropbox\CSharpHomeWork\ExamTask\Clinic\Prog ram.cs:строка 463 в Clinic.Program.Main(String[] args) в d:\Dropbox\CSharpHomeWork\ExamTask\Cli nic\Program .cs:строка 870 按任意键继续。. 。”
我有一个俄语版本的 WIN7,所以俄语上的消息是这样的:“未处理的异常:.......:Clinic.doctor 不可用,因为它的保护级别。只能处理泛型类型。” 翻译几乎是字面意思,所以请记住。
希望有人能帮助我,因为我可以用简单的“XML Writer”编写“医生”类,但仍然没有意义(我认为),只要我可以用一行而不是 20 行保存它。
多谢你们。
Upadte:刚刚上完所有的课——公开课。现在我在字符串上遇到错误: TextWriter WriteFileStream = new StreamWriter("doctors/" + d.firstName + d.lastName + ".xml");
It sais like: 
未处理的异常:System.IO.DirectoryNotFoundException:未能找到路径“D:\Dropbox\CSharpHomeWork\ExamTask\Clinic\bin\Debug\doctors\Anders onNeo.xml”的一部分。
路径是 100% 正确的。我只是觉得不是创建一个文件,而是试图在已经存在的文件中写一些东西。
顺便说一句,对不起,我不能以声望感谢你,因为我现在不能这样做。但是现在有我的“口头感谢”:)