ASP.NET MVC 3 XML序列化:从对象属性的名称序列化元素名称几许? [英] ASP.NET MVC 3 XML Serialization: Serialize dash in element name from object property name?

查看:128
本文介绍了ASP.NET MVC 3 XML序列化:从对象属性的名称序列化元素名称几许?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Trulia的开发指南在他们的元素名称使用破折号。假设我创建一个对象名称相似,但用下划线代替了几许,我会需要创建一个使用的的XmlWriter 换出下划线与破折号或有更简单的方法来做到这一点? (类似 .WriteElementString(街道地址,myObject.street_address);

示例XML:

 <地点>
    <街道地址> 1234弄< /街道地址>
    <城市名称>&中途岛LT; /城市名称>
    <语句code> GA< /语句code>
    <拉链code> 31320< / ZIP code>
    <显示-地址>真< /显示-地址>
< /地点>


解决方案

您可以序列化时波苏斯和反序列化XML,像下面的使用属性:

  [的XmlElement(街道地址)]
公共字符串的StreetAddress {搞定;组; }[的XmlElement(城市名)]
公共字符串CITYNAME {搞定;组; }

Trulia's Dev Guide uses dashes in their element names. Assuming I create an object with similar names but with an underscore instead of a dash, would I need to create a custom XML serializer using XmlWriter to swap out the underscores with dashes or is there an easier way to do this? (something like .WriteElementString("street-address", myObject.street_address);

Sample XML:

<location>
    <street-address>1234 Lane</street-address>
    <city-name>Midway</city-name>
    <state-code>GA</state-code>
    <zipcode>31320</zipcode>
    <display-address>true</display-address>
</location>

解决方案

You can use attributes when serializing POCOs and deserializing XML, like the following:

[XmlElement("street-address")]
public string StreetAddress { get; set; }

[XmlElement("city-name")]
public string CityName { get; set; }

这篇关于ASP.NET MVC 3 XML序列化:从对象属性的名称序列化元素名称几许?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆