Я пытаюсь сериализовать свою информацию о классе отчета в XML. На этом этапе я думаю, что весь код сериализации и десериализации работает, но для начальной записи у меня возникают проблемы с выполнением сериализации, потому что XML-файл еще не существует.serialize to XML path issue
для пустого текстового файла, я могу использовать:
StreamWriter sw = File.CreateText(@"path");
sw.Close();
это мой блок коды для сериализации. исключение (Directory not found
) попадает на линию StreamWriter. Я бы хотел просто добавить if(!File.Exists(xmlPath))...create empty XML
. Или, может быть, есть более правильный способ сделать это.
public void SerializeToXML(Report newReport)
{
XmlSerializer serializer = new XmlSerializer(typeof(Report));
TextWriter textWriter = new StreamWriter(xmlPath);
serializer.Serialize(textWriter, newReport);
textWriter.Close();
}
yup знал, что это было просто благодаря кучке. – ikathegreat
Хороший ответ, но вам действительно не нужно проверять с помощью 'Directory.Exists()' перед созданием. 'CreateDirectory()', делает это для вас. – MatteKarla
@MatteKarla: Не совсем ... Да, 'CreateDirectory' проверяет, существует ли каталог, но он не делает этого с помощью вызова« Exists ». Реализация, которую он использует, на самом деле, немного медленнее, чем «Exists». – Douglas