我想将datacontract类序列化为XMl,但没有命名空间。
我添加了:
[DataContract(Namespace="")]
但我仍然得到:
<Person xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Title>Mr</Title>
...
</Person>
有没有办法阻止这种情况发生,因为我只想将干净的xml传递给遗留组件。
答案 0 :(得分:0)
默认情况下,DataContractSerializer会发出默认的架构命名空间。尝试使用XmlSerializer,例如:
XmlSerializer serializer = new XmlSerializer(person.GetType());
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("","");
serializer.Serialize(xmlWriter, person, ns);
查看更多讨论here。