Добавить CDATA в строку

Моя ситуация заключается в том, что мы используем первый метод контракта для веб-сервисов. Я должен использовать CDATA, чтобы избежать специальных символов, которые необходимо добавить к нашей текущей строковой переменной. Каким будет лучший способ добавить тег CDATA к нашей текущей строке, которая возвращается как элемент xml в объекте ответа? Мы используем С#.


person OBL    schedule 22.04.2011    source источник


Ответы (1)


Вы можете использовать конструкцию XCData из библиотеки Linq. -to-XML, которая должна автоматически оборачивать тег CData вокруг строки.

Пример кода:

//Assuming your string is called @string
XCData cdata = new XCData(@string);
//CData string
string cdataString = cdata.ToString();

Если у вас нет доступа к конструкциям XLinq, вы можете просто сделать следующее

private string WrapInCData(string @string)
{
   return "<![CData[" + @string + "]]>";
}
person Yet Another Geek    schedule 22.04.2011
comment
Большое ему спасибо за помощь. Это было здорово - person OBL; 22.04.2011
comment
Как преобразовать обратно из xcdata в строку, служба wcf возвращает строку с комментариями cdata. - person Rauld; 07.08.2012