2012-12-13 37 views
7

Vui lòng giúp tôi xóa không gian tên xmlns khỏi Phản hồi API WEB.Cách xóa không gian tên khỏi Phản hồi API WEB

Thêm,

config.Formatters.XmlFormatter.UseXmlSerializer = true; 

(hoặc)

[DataContract(Namespace="")] 

không giúp tôi. Sự giúp đỡ của bạn được đánh giá rất cao.

+0

Đă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

+0

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. –

Trả lời

8

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); 
    } 
    } 
} 
Các vấn đề liên quan