Динамический XmlSerializer, который идентифицирует тип объекта из сериализации xml? - PullRequest
0 голосов
/ 03 февраля 2011

Есть ли способ создать XmlSerializer, который хранит вместе с сериализованными данными тип данных, затем при десериализации автоматически идентифицирует тип сериализованного объекта и создает объект этого типа (возвращаемый как объект).

Любая идея, включающая XDocument, XML-литералы, тоже будет приветствоваться.

1 Ответ

0 голосов
/ 03 февраля 2011

Относительно хорошего наблюдения Джона Сондерса о NetDataContractSerializer.NetDataContractSerializer довольно неясен, почти пасхальное яйцо для сериализации XML.У меня есть пост в блоге VB.NET, в котором показано, как создать исходный код для необходимого атрибута и как выглядит результирующий XML, http://bejabbers2.blogspot.com/2010/03/making-case-for-netdatacontractserializ.html. Вот как выглядит сериализованный класс

<s:Body>   
<DetermineCoordinates xmlns="http://tempuri.org/">   
<LocationInfo z:Id="1" z:Type="SharedTypes.LocationInfo" z:Assembly="SharedTypes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" xmlns="http://schemas.datacontract.org/2004/07/SharedTypes" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
   <latitude>0</latitude>   
<longitude>0</longitude>   
<postalCode z:Id="2">90125</postalCode>   
</LocationInfo>   
</DetermineCoordinates>   
</s:Body>  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...