Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Небольшой вопрос по сериализации в XML


Автор: Leksey 16.4.2006, 10:10
При использовании стандартной сериализациив XML дописываеться вначале следующее:
Код

<?xml version="1.0" ?> 
- <Card xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

Можно ли как- то избежать добавления этой информации?
Мне нужно сериализовать маленькие классы 2-3 поля и передавать по сети.
Может мне нужно воспользоваться другими средствами для этого? 

Автор: mr.DUDA 16.4.2006, 12:01
Можно воспользоваться бинарной сериализацией. 

Автор: Leksey 16.4.2006, 12:44
Но бинарная сериализация дописывает всего просто невероятно много по сравнению с тем что-надо:имя сборки.......Там получаеться для маленьких классов еще больше чем XML. 

Автор: mr.DUDA 16.4.2006, 13:58
Leksey, может как-то и можно выключить генерацию namespaces в теге класса, но честно говоря не нашёл способа. А удалить xml declaration имхо вообще нельзя. 

Автор: Дрон 16.4.2006, 14:36
Сам недавно столкнулся с такой задачей. От namespaces избавился так:
Код

            XmlSerializerNamespaces xsn = new XmlSerializerNamespaces();
            xsn.Add(string.Empty, string.Empty);

            XmlSerializer xs = new XmlSerializer(typeof(MyClass));
            xs.Serialize(stream, obj, xsn);


А xml-declaration я вырезал из строки регэскпом smile  

Автор: Leksey 16.4.2006, 17:51
Спасибо большое 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)