Сохраняя набор данных в формате XML, я могу переопределить имена тегов, созданные для получения меньшего XML - PullRequest
0 голосов
/ 16 сентября 2011

Итак, я сохраняю набор данных в файл XML в приложении, где важно создание файла меньшего размера. Сейчас он просто сохраняет элементы XML как имена таблиц и полей наборов данных. Мне интересно, если вместо этого есть способ легко сохранить эти теги как нечто отличное от имен набора данных по умолчанию и загрузить их обратно с теми же именами.

Например, прямо сейчас я сделаю что-то подобное, чтобы сохранить набор данных

XmlTextWriter xml = new XmlTextWriter("myfile.xml", Encoding.UTF8) { Formatting = Formatting.None };
myDataset.WriteXml(xml);

и он выдаст длинный XML, который выглядит следующим образом ...

<MYDataSet xmlns="http://tempuri.org/MYDataSet.xsd">
<MyElement><ReallyLongTagNames>other info and tags</ReallyLongTagNames></MyElement>
...
</MyDataSet>

Я хочу иметь возможность сохранять и загружать вещи, которые больше похожи на это, для экономии места, но я не могу найти хороший способ сделать это. Это означает, что мой набор данных не должен быть зашифрованным, но, тем не менее, может загружать и сохранять XML следующим образом.

<MYDataSet xmlns="http://tempuri.org/MYDataSet.xsd">
<a><b>other info and tags</b></a>
...
</MyDataSet>

Есть ли хороший способ заставить xml печатать таким образом при сохранении из набора данных?

Ответы [ 2 ]

0 голосов
/ 16 сентября 2011

Если размер файла важен, используйте двоичный форматер.Это значительно уменьшит размер.

            string path = @"D:\myfile.dat";
            BinaryFormatter bf = new BinaryFormatter();
            mydataset.RemotingFormat = SerializationFormat.Binary;                
            using (StreamWriter sw = new StreamWriter(path))
            {
                bf.Serialize(sw.BaseStream, mydataset);
            }
0 голосов
/ 16 сентября 2011

Как насчет переименования столбцов в DataSet перед экспортом в XML?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...