2
我從MVC Web Api獲取以下響應;從MVC Web API響應中刪除XML名稱空間屬性
<Products xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="my.namespace.com">
<Product>
<Id>1</Id>
<Name>Tomato Soup</Name>
<Category>Groceries</Category>
<Price>1</Price>
</Product>
<Product>
<Id>2</Id>
<Name>Yo-yo</Name>
<Category>Toys</Category>
<Price>3.75</Price>
</Product>
<Product>
<Id>3</Id>
<Name>Hammer</Name>
<Category>Hardware</Category>
<Price>16.99</Price>
</Product>
</Products>
我想刪除xmlns:*標記。
我發現了各種帖子,其中包括一些提供選項的SO,但這些似乎不起作用。
我試過的東西;
[XmlRoot("Products",Namespace = "my.namespace.com")]
[DataContract(Namespace = "")]
public class ProductsModel : List<Product>
{
}
[XmlRoot("Product")]
[DataContract(Namespace = "", Name = "Product")]
public class Product
{
[DataMember]
public int Id { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public string Category { get; set; }
[DataMember]
public decimal Price { get; set; }
}
和
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
這些都沒有影響。
關閉。更新CollectionDataContract並禁用序列化程序將刪除xmlns:xsd標記,但不會刪除xmlns:xsi標記。我已經用該代碼更新了該問題。 – ChrisBint
你爲什麼要刪除這個屬性?你的XML是一個模式實例,不是嗎? – danludwig
我的個人喜好。 – ChrisBint