【发布时间】:2012-03-19 18:40:52
【问题描述】:
我正在使用 WCF Web API 服务通过 Json 和 Xml 发布一些数据。但是我对 html 字符串进行序列化时遇到了问题。
对于 Xml 序列化,我使用 XmlMediaTypeFormatter() 和 对于 Json 序列化,我有使用 Newtonsoft.Json 库的 CustomJSONMediaTypeFormatter 类。
我使用实体框架从数据库中获取数据,并且像下面的代码一样,我使用 WCF Web api 服务发布它。
[WebGet(UriTemplate = "getLogin")]
public IQueryable<LoginTableDTO> Login()
{
var loginList = ltr.GetList();
List<LoginTableDTO> dtoList = new List<LoginTableDTO>();
foreach (LoginTable item in loginList)
{
dtoList.Add(LoginTableAssembler.ToDTO(item));
}
return dtoList.AsQueryable();
}
但使用 html 字符串,例如
<p><input style="float: right" type="submit" name="name" value="Save Changes" /></p>
来自数据库,序列化返回后
<p><input style="float: right" type="submit" name="name" value="Save Changes" /></p>
用于 xml 并返回
\u003cp\u003e\u003cinput style=\"float: right\" type=\"submit\" name=\"name\" value=\"Save Changes\" /\u003e\u003c/p\u003e
对于 Json。
如您所见,它们不是人类可读的。
我也对 datetime 对象有一些问题。但我在实际做之前找到了一个转换字符串的解决方案,我对此并不满意。(那是另一个问题)。
如何将 HTML 字符串(如普通字符串(没有“html 标签”))序列化为 XML 和 JSON?
提前谢谢...
【问题讨论】:
标签: c# xml serialization wcf-web-api json.net