1
有谁知道为什么在datacontractserialization期间命名空间仍然被添加到根目录中?命名空间没有从DataContractSerializer的XML根目录中删除
XML:
<Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Event>
<Address>
.
.
.
</Response>
代码:
[DataContract(Name = "Response", Namespace = "")]
public class ApiEventResponse
{
[DataMember(EmitDefaultValue = false)]
public ApiEvent Event { get; set; }
}
var serializer = new DataContractSerializer(type, "Response", "");
return Task.Factory.StartNew(() =>
{
using (var xmlw = new XmlTextWriter(writeStream, Encoding))
{
xmlw.Formatting = Formatting.Indented;
serializer.WriteObject(xmlw, value);
}
});
请注意,这只是名称空间定义,似乎并未使用(至少在您粘贴的xml文档的某些部分中)。你的元素实际上是在空的名字空间中。 – Pawel
如果我有一个NULL元素,情况就是这样,它会添加i:nill =“true” –
然后声明将被需要和使用(不一定在根元素上)。 – Pawel