C# 指定执行XML序列化时要包含的属性
我有以下实用程序方法来帮助将对象序列化为XML:C# 指定执行XML序列化时要包含的属性,c#,interface,xml-serialization,C#,Interface,Xml Serialization,我有以下实用程序方法来帮助将对象序列化为XML: public static string Serialize(object input) { if (input != null) { using (var sw = new StringWriter()) { var serializer = new System.Xml.Serialization.XmlSerializer(_type); serializer.Seri
public static string Serialize(object input) {
if (input != null) {
using (var sw = new StringWriter()) {
var serializer = new System.Xml.Serialization.XmlSerializer(_type);
serializer.Serialize(sw, input);
return sw.ToString();
}
} else
return null;
}
这适用于基本类型。但是如果我的类型有一个接口属性,那么它就不能工作。我的类型是否可以实现一个接口,该接口只指定序列化时希望包含的类型的属性
我很感激你的帮助,因为我不知道该怎么做,但这似乎是可能的。谢谢看一看
属性可用于控制对象的XML序列化
或者从同一组类创建备用XML流
防止使用XmlIgnoreAttribute进行序列化在某些情况下,可能不需要创建公共属性或字段 连载。例如,字段或属性可用于包含 元数据。在这种情况下,将XmlIgnoreAttribute应用于字段或 属性,XmlSerializer将跳过它 指示XmlSerializer的Serialize方法不序列化 公共字段或公共读/写属性值 类似于示例中的内容
public class Group
{
// The XmlSerializer ignores this field.
[XmlIgnore]
public string Comment;
// The XmlSerializer serializes this field.
public string GroupName;
}
如果使用XmlIgnore属性作为类成员的前缀,则XmlSerializer不会对其进行序列化/反序列化。例如:
// Super secret text here, must not be serialised
[XmlIgnore()]
public String SecurityCode = null;
斯奈特,我从来不知道我能做到。谢谢,谢谢。和科林姆说的差不多,但他可以做得更多,哈哈。