我有一门课:
[DataContract]
public class Result
{
[DataMember] public String Log {get; set;}
[DataMember] public String Data {get; set;}
}我通过WCF发送这个类,它工作得很好。但是我想在收到之后将这个类保存到一个xml文件中。我试着写:
var serializer = new DataContractSerializer(typeof (T),null,int.MaxValue,
false,true,null,new SharedTypeXmlResolver());
var settings = new XmlWriterSettings { Indent = true };
using (var backing = new StringWriter(CultureInfo.InvariantCulture))
{
using (var writer = XmlWriter.Create(backing, settings))
{
serializer.WriteObject(writer, result);
}
return backing.ToString();
} 但是我想将"Log“属性保存到XML文件,而不想保存"Data”属性。我该怎么做呢?
发布于 2012-04-11 00:40:52
XmlIgnore不能与DataContract序列化一起使用。这个合同是选择加入的,而不是Serializable选择退出的。
发布于 2014-04-18 22:13:03
将数据设为可选:
[DataMember(EmitDefaultValue = false)] public String Data {get; set;}然后擦除数据:
result.Data = null;https://stackoverflow.com/questions/10088758
复制相似问题