我已经尝试了google搜索结果中的许多决议。
最初我的工作代码是使用XmlWriter和XmlSerializer,使用自定义功能来压缩命名空间,并删除nil属性。
工作得很好,直到尝试使用导航属性作为接口来覆盖Entity对象。 当属性是接口时,XmlSerializer会弹出。
然后尝试了DataContractSerializer,它可以在Interface属性上运行,但现在使用DataContractSerializer.WriteObject返回命名空间,没有像XmlSerializer一样传入XmlSerializerNamespaces的条目。
该对象不是DataContract。
找到一个使用DataContractSerializer删除命名空间的示例,但是它使用自定义XmlTextWriter,但是我在传递XmlWriterSettings时遇到问题,XmlWriter.Create(x.x)支持
我需要的是一个简单的序列化程序来从对象中分块xml: