在ASP.NET的WebAPI写CDATA [英] Writing CDATA in ASP.NET WebApi
本文介绍了在ASP.NET的WebAPI写CDATA的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
即时通讯使用的设置:
formatters.XmlFormatter.UseXmlSerializer = true;
我尝试serailize类是相当简单:
The class i try to serailize is quite simple:
public class MyClass
{
public MyClass()
{
CDATA = "<![CDATA[<link>MyLink</link>]]>"
[XmlText]
public string CDATA { get; set; }
}
我想这是序列化到这样的:
I want this to be serialized into something like:
<MyClass>
<![CDATA[<link>MyLink</link>]]>
</MyClass>
但是,相反得到:
But instead get:
<MyClass>
<![CDATA[<!link>MyLink<!/link>]]>
</MyClass>
那么,怎样才能我prevent呢?还是有使用ASP.NET的WebAPI更好的办法?
So how can i prevent this? Or is there a better way using the ASP.NET WebApi?
推荐答案
貌似答案从<一个href=\"http://stackoverflow.com/questions/1379888/how-do-you-serialize-a-string-as-cdata-using-xmlserializer\">this问题将做到这一点:
Looks like the answer from this question will do it:
[XmlIgnore] public string Content { get; set; }
[XmlText]
public XmlNode[] CDataContent {
get {
return new XmlNode[] {
new XmlDocument().CreateCDataSection(Content)
};
}
set { Content = value[0].Value; }
}
这适用于普通的的XmlSerializer
对象,所以我猜它的WebAPI工作为好。
This works with a regular XmlSerializer
object, so I'd guess it works in WebAPI as well.
这篇关于在ASP.NET的WebAPI写CDATA的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文