我有一个名为WebserviceType
的类,我从XSD文件的工具xsd.exe中获得了该类。将对象转换为XML字符串
现在我想将一个WebServiceType
对象的实例反序列化为一个字符串。 我该怎么做?
MethodCheckType
对象具有作为参数的WebServiceType
数组。
我第一次尝试像我连载它:用XmlSerializer
和StringWriter
(序列化时我用了StringReader
)。
这是我序列化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;
编辑:
也许我可以说,它在不同的字:我有这个MethodCheckType
对象的实例另一方面,我得到了我从中序列化这个对象的XML文档。现在我想将这个实例转换成一个字符串形式的XML文档。在此之后,我必须证明两个字符串(XML文档)是否相同。我必须这么做,因为我对第一种方法进行了单元测试,在这种方法中,我将一个XML文档读入StringReader
并将其序列化为MethodCheckType
对象。
你会得到什么错误?你可能会混淆这些术语:序列化(在XML世界中)是将*从一个对象转换成XML *;反序列化将*从XML转换为对象*。你是否想从**一个XML字符串反序列化一个对象**? – carlosfigueira 2012-07-12 08:13:40