我正在DataContractSerializer
通过使用IXmlSerializable
接口进行一些自定义序列化。
例如:
public class CustomPartOfAContract : IXmlSerializable
{
public void WriteXml( XmlWriter writer )
{
//...
}
public void ReadXml( XmlReader reader )
{
//...
}
}
[DataContract(Namespace="http://mynamespace.com")]
public class MyDataContract
{
[DataMember(IsRequired=true)]
public ICollection<CustomPartOfAContract> CustomParts { get; set; }
}
现在,在该WriteXml
方法中,我可以告诉XmlWriter
我编写的每个元素使用什么命名空间。但是我不知道如何为CustomPartOfAContract
.
将 XML 输出到文件中,CustomParts
属性的命名空间MyDataContract
是从源代码命名空间生成的。
任何人都知道如何在序列化时指定要使用的命名空间吗?