5 개의 목록이 있으며이를 XML로 저장하려고합니다. 내 코드는 4 개로 작동하지만 전혀 몰랐지만 5 번째 코드는 저장하지 않으려 고합니다. 모든 목록에 대해 오버로드 된 SaveXML 메서드를 사용합니다. 저장실에만 문제가 있습니다. 나는 항상 예외를 가지고 : 프로세스가 파일 Rooms.xml에 액세스 할 수 없습니다 ...XML : 프로세스가 파일에 액세스 할 수 없습니다.
public class Database
{
List<Student> dtbStudents = new List<Student>();
List<Teacher> dtbTeachers = new List<Teacher>();
List<StudyProgramme> dtbPrograms = new List<StudyProgramme>();
List<Subject> dtbSubjects = new List<Subject>();
List<Room> dtbRooms = new List<Room>();
public Database()
{
LoadXML();
}
public void SaveXML()
{
SaveXML(dtbStudents);
SaveXML(dtbTeachers);
SaveXML(dtbPrograms);
SaveXML(dtbSubjects);
SaveXML(dtbRooms);
}
public void SaveXML(List<Teacher> list)
{
XmlSerializer serializer = new XmlSerializer(list.GetType());
using (TextWriter writer = new StreamWriter(@"Teachers.xml"))
{
serializer.Serialize(writer, list);
}
}
public void SaveXML(List<StudyProgramme> list)
{
XmlSerializer serializer = new XmlSerializer(list.GetType());
using (TextWriter writer = new StreamWriter(@"StudyProgrammes.xml"))
{
serializer.Serialize(writer, list);
}
}
public void SaveXML(List<Student> list)
{
XmlSerializer serializer = new XmlSerializer(list.GetType());
using (TextWriter writer = new StreamWriter(@"Students.xml"))
{
serializer.Serialize(writer, list);
}
}
public void SaveXML(List<Subject> list)
{
XmlSerializer serializer = new XmlSerializer(list.GetType());
using (TextWriter writer = new StreamWriter(@"Subjects.xml"))
{
serializer.Serialize(writer, list);
}
}
public void SaveXML(List<Room> list)
{
XmlSerializer serializer = new XmlSerializer(list.GetType());
using (TextWriter writer = new StreamWriter(@"Rooms.xml"))
{
serializer.Serialize(writer, list);
}
}
}
class Program
{
static void Main(string[] args)
{
Database dtb = new Database();
dtb.SaveXML();
Console.ReadKey();
}
}
는로드 XMLS 데이터 또는 무엇에 문제가 될 수 있습니까? 그 기능을 게시 할 수 있습니다. 도움 주셔서 감사합니다! 여기
내 부하 기능 : 당신의 LoadXML()
에서
public void LoadXML()
{
XmlReader Reader = XmlReader.Create(@"Students.xml");
XmlSerializer deserializer = new XmlSerializer(typeof(List<Student>));
dtbStudents = (List<Student>)deserializer.Deserialize(Reader);
Reader = XmlReader.Create(@"Teachers.xml");
deserializer = new XmlSerializer(typeof(List<Teacher>));
dtbTeachers = (List<Teacher>)deserializer.Deserialize(Reader);
Reader = XmlReader.Create(@"StudyProgrammes.xml");
deserializer = new XmlSerializer(typeof(List<StudyProgramme>));
dtbPrograms = (List<StudyProgramme>)deserializer.Deserialize(Reader);
Reader = XmlReader.Create(@"Rooms.xml");
deserializer = new XmlSerializer(typeof(List<Room>));
dtbRooms = (List<Room>)deserializer.Deserialize(Reader);
Reader = XmlReader.Create(@"Subjects.xml");
deserializer = new XmlSerializer(typeof(List<Subject>));
dtbSubjects = (List<Subject>)deserializer.Deserialize(Reader);
Reader.Close();
}
는 난 단지 목록을 3'SaveXML'를 참조하십시오. –
거기에 3 개의 점이 있습니다. 나는 그들을 게시 할 수 있지만 다른 매개 변수가있는 경우에만 동일합니다. – Deyeth
[mcve]가 좋을 것입니다. –