[英]Writing CDATA in ASP.NET WebApi
Im using the setting: 我正在使用设置:
formatters.XmlFormatter.UseXmlSerializer = true;
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>
So how can i prevent this? 那么我该如何预防呢? Or is there a better way using the ASP.NET WebApi?
还是有使用ASP.NET WebApi的更好方法?
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; }
}
This works with a regular XmlSerializer
object, so I'd guess it works in WebAPI as well. 这可以与常规
XmlSerializer
对象一起使用,因此我猜它也可以在WebAPI中使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.