2013-08-05 20 views
0

進出口使用的設置:寫作CDATA在ASP.NET的WebAPI

formatters.XmlFormatter.UseXmlSerializer = true; 

類我嘗試serailize很簡單:

public class MyClass 
{ 
    public MyClass() 
    { 
     CDATA = "<![CDATA[<link>MyLink</link>]]>" 

    [XmlText] 
    public string CDATA { get; set; } 
} 

我想這是序列化到類似:

<MyClass> 
    <![CDATA[<link>MyLink</link>]]> 
</MyClass> 

但相反的我們:

<MyClass> 
    &lt;![CDATA[&lt;!link&gt;MyLink&lt;!/link&gt;]]> 
</MyClass> 

那麼我該如何預防呢?或者有沒有更好的方式使用ASP.NET WebApi?

回答

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的作品,以及。