// Обработчик события меню создания нового XML-файла описания // видеозаписи override public void FileOnRecordingCreate() { CreateRecordingInfoDialog CreateDialog = new CreateRecordingInfoDialog(); RecordingInfo rec = new RecordingInfo(); bool isSuccess; do { isSuccess = true; DialogResult result = CreateDialog.ShowDialog(); if (result == DialogResult.OK) { // Извлекаем информацию из видеофайлов, сохраняем // в структуру RecordingInfo try { rec = CameraCreate(CreateDialog.FilePathArray, CreateDialog.Comment); // Запрашиваем путь к файлу для сохранения XML result = m_gui.dlgRecordingSave.ShowDialog(); string path = m_gui.dlgRecordingSave.FileName; rec.FileNameXML = path; if (result == DialogResult.OK) { // Готовим структуру данных для записи в XML MarkupProvider xml = new MarkupProviderADO(); xml.InitHeader(rec); xml.Save(path); } } catch (Exception e) { MessageBox.Show(e.Message, "ERROR!", MessageBoxButtons.OK); isSuccess = false; } } }while (!isSuccess); CreateDialog.Dispose(); }
/* Метод тестирует сохранение разметки в XML-файл. */ static void TestXmlWrite(RecordingInfo rec) { string MarkupFilePath = "markup.xml"; MarkupProvider markup = new MarkupProviderADO(); markup.Init(rec); CategoryInsertOne(markup, "New1"); CategoryInsertOne(markup, "New2"); CategoryPrintAll(markup); if (markup.Save(MarkupFilePath)) { Console.WriteLine("Saved markup to " + MarkupFilePath); } else { Console.WriteLine("Problem while saving markup!"); } }