Сериализация контракта данных WCF с настраиваемым атрибутом XML

Есть ли возможность получить следующий ответ, поскольку, по моему опыту, использование контрактов данных не позволяет добавлять идентификатор внутри элемента (например,). Есть ли способ добиться следующей структуры? Также обратите внимание, что это без корневого тега.

<Number Id=”1”> 
<FName>1234567890ABC</ FName >
<Date>7/1/2012 12:00:00 </ Date >
</Number >
< Number Id=”2”> 
< FName >9876543210XYZ</ FName >
< Date >7/1/2012 12:00:00 </ Date >
</ Number >

Заранее большое спасибо.


person Pavan Welihinda    schedule 30.04.2013    source источник


Ответы (1)


из этого сообщения: Как можно вы контролируете сериализацию .NET DataContract, поэтому он использует атрибуты XML вместо элементов?

. . . взгляните на XmlSerializerFormatAttribute, который позволяет использовать XmlSerializer для сериализации.

и из того же поста

Вы можете сделать это с помощью DataContractSerializer - ответ заключается в том, чтобы взять на себя сериализацию Xml самостоятельно, реализовав интерфейс IXmlSerializable. ...

Эта статья также может быть полезной: http://www.danrigsby.com/blog/index.php/2008/03/07/xmlserializer-vs-datacontractserializer-serialization-in-wcf/

person evgenyl    schedule 30.04.2013
comment
Есть ли возможность таким образом сериализовать IEnumerable? (Использование сериализации XML) - person Pavan Welihinda; 30.04.2013
comment
Вы можете попробовать изменить код из связанного сообщения, ложь писателя.WriteAttributeString (name, your_ienumerable.to_sting_in_some_way_you_want_it); - person evgenyl; 30.04.2013
comment
Можем ли мы добавить атрибут XML к корневому тегу? Я искал это некоторое время. - person Pavan Welihinda; 01.05.2013
comment
Кроме того, есть корневой элемент, который я не определил, и я не знаю, откуда он. - person Pavan Welihinda; 01.05.2013