Plus court chemin pour désérialiser XmlDocument
Je suis à la recherche d'un endroit propre et court chemin pour désérialiser un XmlDocument
objet. La chose la plus proche que j'ai trouvé était cette mais je me demande vraiment si il n'y a pas de plus belle façon de le faire (en .NET 4.5 ou même 4.6) puisque j'ai déjà le XmlDocument.
Donc actuellement ce qui se présente comme suit:
//aciResponse.Data is a XmlDocument
MyClass response;
using (XmlReader reader = XmlReader.Create((new StringReader(aciResponse.Data.InnerXml))))
{
var serializer = new XmlSerializer(typeof(MyClass));
response = (MyClass)serializer.Deserialize(reader);
}
Merci pour toute meilleure idée!
Pouvez-vous préciser exactement ce que vous pensez qui pourrait constituer un
eh bien, quelque chose qui peut-être n'implique pas pour créer/ouvrir deux différents lecteurs et à l'aide de la InnerXml (string)?
C'est ce que les méthodes et les méthodes d'extension sont pour, si vous faites beaucoup de le même code, extrait d'une fonction... Que le code a l'air assez concis pour moi; donc probablement être plus précis.
Peut-être il n'y a vraiment pas de "plus agréable" solution - mais c'est ce que j'aimerais trouver ici 😉
nicer
/ cleaner
?eh bien, quelque chose qui peut-être n'implique pas pour créer/ouvrir deux différents lecteurs et à l'aide de la InnerXml (string)?
C'est ce que les méthodes et les méthodes d'extension sont pour, si vous faites beaucoup de le même code, extrait d'une fonction... Que le code a l'air assez concis pour moi; donc probablement être plus précis.
Peut-être il n'y a vraiment pas de "plus agréable" solution - mais c'est ce que j'aimerais trouver ici 😉
OriginalL'auteur silent | 2015-02-02
Vous devez vous connecter pour publier un commentaire.
Vous pourriez renoncer à la
XmlReader
et l'utilisation d'unTextReader
au lieu et à l'utilisation de laTextReader
XmlSerializer.Désérialiser Méthode
surcharge.De travail exemple:
OriginalL'auteur SwDevMan81
Si vous avez déjà un
XmlDocument
objet que vous pouvez utiliserXmlNodeReader
OriginalL'auteur Artem Popov
Il y a mieux et de la manière paresseuse pour ce faire. Mais il est possible que si vous utilisez Visual Studio.
Suit:
retirez l'exemple de la définition de la classe à partir de ce fichier de classe.
Fait. Visual Studio génère toutes les définitions de classe nécessaire à la dé-sérialiser ce XML.
OriginalL'auteur ViBi