Прекратить помещать DataContractSerializer в пространство имен? - PullRequest
5 голосов
/ 28 сентября 2010

Я хочу сериализовать классы обработки данных в XMl, но без пространств имен.

Я добавил:

[DataContract(Namespace="")]

, но все равно получаю:

<Person xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Title>Mr</Title>
...
</Person>

Есть ли способ остановить это, потому что я просто хочу, чтобы чистый xml перешел в устаревший компонент.

1 Ответ

0 голосов
/ 14 декабря 2010

DataContractSerializer по умолчанию генерирует пространства имен схемы по умолчанию.Вместо этого попробуйте использовать XmlSerializer, например:

XmlSerializer serializer = new XmlSerializer(person.GetType());
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("","");
serializer.Serialize(xmlWriter, person, ns);

Подробнее см. Здесь .

...