Cuối cùng, tôi đã tìm ra giải pháp. Chỉ cần tạo một CustomXmlFormatter để loại bỏ không gian tên từ phần tử gốc.
public class IgnoreNamespacesXmlMediaTypeFormatter : XmlMediaTypeFormatter
{
public override Task WriteToStreamAsync(Type type, object value, Stream writeStream, HttpContent content, TransportContext transportContext)
{
try
{
var task = Task.Factory.StartNew(() =>
{
var xns = new XmlSerializerNamespaces();
var serializer = new XmlSerializer(type);
xns.Add(string.Empty, string.Empty);
serializer.Serialize(writeStream, value, xns);
});
return task;
}
catch (Exception)
{
return base.WriteToStreamAsync(type, value, writeStream, content, transportContext);
}
}
}
Nguồn
2013-05-03 07:35:58
Đăng giải pháp của bạn làm câu trả lời. Không có trong câu hỏi. – arulmr
Cảm ơn arulmr. Vui lòng tiếp tục chỉnh sửa bài đăng của tôi. Điều này sẽ rất hữu ích. –