【发布时间】:2012-07-11 22:46:46
【问题描述】:
我有一个名为 WebserviceType 的类,我是从 XSD 文件中的 xsd.exe 工具获得的。
现在我想将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字符串反序列化一个对象吗?
标签: c# xml serialization