我正在使用设置:
formatters.XmlFormatter.UseXmlSerializer = true;
我尝试引用的课程非常简单:
public class MyClass
{
public MyClass()
{
CDATA = "<![CDATA[<link>MyLink</link>]]>"
[XmlText]
public string CDATA { get; set; }
}
我希望将其序列化为:
<MyClass>
<![CDATA[<link>MyLink</link>]]>
</MyClass>
但是得到:
<MyClass>
<![CDATA[<!link>MyLink<!/link>]]>
</MyClass>
那我怎么能阻止这个呢?或者有更好的方法使用ASP.NET WebApi吗?
答案 0 :(得分:1)
看起来this question的回答会这样做:
[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。