У меня есть приложение, которое читает записи из базы данных и экспортирует их в файл XML. Существует xsd, который рисует схему файла xml. Я использую прокси-классы xsd для сериализации данных в xml-файл.
Вот так я сериализую данные в XML:
XmlSerializer serializer = new XmlSerializer(_report.GetType());
StringBuilder xmlString = new StringBuilder();
StringWriter writer = new StringWriter(xmlString);
serializer.Serialize(writer, _report);
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlString.ToString());
doc.Save(_outputFile.FullName);
У меня проблема в том, что в выходном файле отсутствуют строки. Я прошел отладку и обнаружил, что данные добавляются в коллекцию прокси-объектов из базы данных и передаются в сериализатор через объект _report.
Итак, чтобы изолировать проблему данных или приложения, я вручную закодировал несколько отсутствующих записей в CSV-файл и импортировал данные в мое приложение. Эти записи теперь появляются в XML-файле. Итак, теперь я знаю, что это проблема с данными. Приложение использует базу данных informix в качестве бэкэнда.
Чего я не понимаю, так это того, почему некоторые строки из той же таблицы в базе данных informix присутствуют, а другие нет? Я потратил почти 2-3 дня на поиски в Интернете без какого-либо успеха. Итак, я решил, что пришло время увеличить его.