2014-03-31 3 views
3

HTML 마크 업을 포함 할 수있는 일부 속성이있는 엔터티를 반환하는 ASP.NET 웹 API 컨트롤러가 있습니다. XML 포맷터는 기본적으로 모두 < 및>를 & lt로 바꿉니다. 및 & gt; XML에서 유효한 문자가 아니기 때문입니다. 이제는이 대체 기능을 비활성화하고 대신 CData 태그의 내용을 래핑하는 것이 가능한지 궁금합니다.웹 API에서 XML 응답의 CData

그래서 대신 :

<entity ...> 
    <element> 
    <![CDATA[ 
     Some text with <strong>html</strong> 
    ]]> 
    </element> 
</entity> 

나는 XML 포매터를 구성하여과에 직접 변경의 필요없이이를 달성 할 수있는 방법을 찾고 있어요 :

<entity ...> 
    <element> 
    Some text with &lt;strong&gt;html&lt;/strong&gt; 
    </element> 
</entity> 

나는이 원하는 제어기 또는 엔티티. MediaTypeFormatter 클래스를 처음부터 작성하지 않아도 가능합니까?

답변

0

내가 그 조각과를 달성에게 :

[XmlIgnore] 
public string Content { get; set; } 

[DataMember] 
[XmlText] 
public XmlNode[] CdataContent 
{ 
    get => new XmlNode[] { new XmlDocument().CreateCDataSection(Content) }; 
    set => Content = value[0].Value; 
} 

CdataContent이 될 것입니다 <![CDATA[ ... ]]>