Ho una classe denominata WebserviceType
Ho ottenuto dallo strumento xsd.exe da un file XSD.Convertire un oggetto in una stringa XML
Ora voglio deserializzare un'istanza di un oggetto WebServiceType
in una stringa. Come posso fare questo?
L'oggetto MethodCheckType
ha come parametro un array WebServiceType
.
Il mio primo tentativo è stato come se lo avessi serializzato: con un XmlSerializer
e uno StringWriter
(durante la serializzazione ho usato un StringReader
).
questo è il metodo in cui ho serializzare l'oggetto WebServiceType
:
XmlSerializer serializer = new XmlSerializer(typeof(MethodCheckType));
MethodCheckType output = null;
StringReader reader = null;
// catch global exception, logg it and throw it
try
{
reader = new StringReader(path);
output = (MethodCheckType)serializer.Deserialize(reader);
}
catch (Exception)
{
throw;
}
finally
{
reader.Dispose();
}
return output.WebService;
Edit:
forse avrei potuto dirlo in parole diverse: ho avuto un'istanza di questo oggetto MethodCheckType
d'altro canto ho il documento XML da cui ho serializzato questo oggetto. Ora voglio convertire questa istanza in un documento XML sotto forma di stringa. Dopo questo devo dimostrare se entrambe le stringhe (di documenti XML) sono le stesse. Questo devo fare, perché faccio test unitari del primo metodo in cui leggo un documento XML in uno StringReader
e lo serializzo in un oggetto MethodCheckType
.
Che errore ottieni? E potresti confondere i termini: la serializzazione (nel mondo XML) sta convertendo * da un oggetto in XML *; la deserializzazione è la conversione * da XML in un oggetto *. Vuoi deserializzare un oggetto ** da ** una stringa XML? – carlosfigueira