2

MVC Web API から次の応答を受け取りました。

<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;

これらは効果がありません。

4

1 に答える 1

2

の代わりに、 を有効にせずに をDataContract使用します。CollectionDataContractXmlSerializer

于 2012-10-25T15:41:37.623 に答える