Я пытаюсь сериализовать DataSet
в файл XML. Как видно из вывода выборки, все мои таблицы имеют имена и набор данных также назван. Пространство имен набора данных «", изменение этого не имеет никакого эффекта. Исключение составляет:Ошибка сериализации DataSet в XML
Невозможно сериализовать DataTable. Имя DataTable не задано.
Как вы можете видеть ниже достаточно четко, все таблицы были названы.
DataSet Name: TestDataSet
Table: TABLE1
Table: TABLE2
Table: TABLE3
Table: TABLE4
Table: TABLE5
Не можете сериализовать DataTable. Имя DataTable не задано.
Вот код, я использую для сериализации набора данных:
using (FileStream stream = new FileStream("db.xml", FileMode.Create))
{
dataSet.WriteXml(stream, XmlWriteMode.WriteSchema);
stream.Close();
}
если XmlWriteMode
является WriteSchema
файл XML создается и заполняется со схемой, исключение еще брошен. Если XmlWriteMode
- IgnoreSchema
, и создается пустой файл и генерируется исключение.
В чем причина этой проблемы? Я проехал через множество сообщений здесь и в других местах в Интернете, и все говорят «задайте имя таблицы». Я сделал это, но это не имеет значения.
Прошлое db.xml. Нет всех строк, только некоторые данные. –
Проблема, вероятно, в коде, в котором вы создаете свой набор данных, вы должны предоставить этот код или образец (макет), который генерирует ту же ошибку. – cnom
Я думаю, что я понял, в чем проблема. Данные десериализуются из JSON в набор данных с использованием JSON.NET. Один из столбцов в некоторых таблицах имеет тип DataTable. Я думаю, что это те столбцы, которые сериализатор не знает, как обращаться. Имеет ли это смысл? – user3081814