Мне нужно сделать api, где в теле запроса должен быть объект CData
. Все работает, за исключением того, что я не могу понять, как сделать мой объект сериализованным в объект CData
. Проект написан в. net -framework.
В настоящее время у меня есть следующий код.
C#:
[XmlRoot(ElementName = "DATA")]
public class DATA
{
[XmlElement(ElementName = "ID")]
public int ID { get; set; }
[XmlElement(ElementName = "NAME")]
public string NAME{ get; set; }
}
[XmlRoot(ElementName = "NewDataSet")]
public class CDataSet
{
[XmlElement(ElementName = "DATA")]
public DATA data{ get; set; }
}
Как xml нужно заботиться о:
<![CDATA[
<NewDataSet>
<DATA>
<ID>007</ID>
<NAME>John</NAME>
</DATA>
</NewDataSet>
]]>
Я могу заставить его работать, выполняя обычную сериализацию, сделав запрос к этой функции:
public static string SerializeObject<T>(this T toSerialize)
{
XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType());
using (StringWriter textWriter = new StringWriter())
{
xmlSerializer.Serialize(textWriter, toSerialize);
return textWriter.ToString();
}
}
Затем вручную добавив части CData
вокруг него.
Однако мой босс хочет, чтобы он работал без добавления деталей вручную.
Обратите внимание: я новичок в C#.
Любой шаг в правильном направлении поможет. Спасибо!