asp.net-web-api – 如何使用web api和模型绑定定义xml属性
发布时间:2020-12-15 19:27:26 所属栏目:asp.Net 来源:网络整理
导读:我正在创建一个xml的产品源,它需要完全匹配客户端方案. 我正在使用web api.我希望属性extractDate是一个属性.以下代码输出extractDate作为元素而不是属性 public Feed GetProducts() { var feed = new Feed() { extractDate = "extractDate",incremental = t
我正在创建一个xml的产品源,它需要完全匹配客户端方案.
我正在使用web api.我希望属性extractDate是一个属性.以下代码输出extractDate作为元素而不是属性 public Feed GetProducts() { var feed = new Feed() { extractDate = "extractDate",incremental = true,name = "name",Brands = GetBrands(),Categories = GetCategories(),Products = GetProducts() }; return feed; } 这是我的模型Feed.请注意,以下似乎不会将元素转换为属性 [XmlAttribute(AttributeName = "extractDate")] public class Feed { [XmlAttribute(AttributeName = "extractDate")] //attribute is ignored public string extractDate { get; set; } public bool incremental { get; set; } public string name { get; set; } public List<Brand> Brands { get; set; } public List<Category> Categories { get; set; } public List<Product> Products { get; set; } } 我如何输出 <feed extractDate="2012/01/01" // other logic /> 解决方法
默认情况下,Web API在XmlMediaTypeFormatter中使用DataContractSerializer,这可能就是您没有看到属性修饰生效的原因.您是否在XmlMediaTypeFormatter上启用了XmlSerializer以查看预期输出?
config.Formatters.XmlFormatter.UseXmlSerializer = true; 此外,您也可以使用以下api为特定类型设置XmlSerializer: config.Formatters.XmlFormatter.SetSerializer<> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 添加.net 4.5对Asp.net vNext项目的引用
- asp.net-mvc – ASP.NET MVC 3确定会话状态(新的或超时)
- asp.net-mvc-3 – 如何将HttpContext传递给MVC3应用程序中的
- asp.net-mvc – 将焦点放在不使用JavaScript的EditorFor上
- asp.net – 如何从代码隐藏中清除所有表单字段?
- asp.net-mvc – 如何检查MVC cshtml页面中的调试模式
- asp.net-core – AuthorizationHandler和数据库依赖注入
- asp.net – 使用HttpHandler和IIS 5.1在iPhone上播放Quickt
- asp.net-mvc – 在Visual Studio中使用TypeScript在lib.d.t
- 将MVC 2.0迁移到MVC 3.0 RC后使用Razor的问题
推荐文章
站长推荐
热点阅读