Append CDATA to a string

2019-07-13 02:24发布

问题:

My situation is that we are using contract first method for web services. I have to use CDATA to avoid special characters, which needs to be appended to our current string variable. What would be the best method to append a CDATA tag to our current string, which is returned as xml element in response object? We are using C#.

回答1:

You can use the XCData construct from the Linq-to-XML Library, which should automaticly wrap a CData tag around a string.

Example code:

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

If you do not have access to XLinq constructs you could just do the following

private string WrapInCData(string @string)
{
   return "<![CData[" + @string + "]]>";
}


标签: c# xml cdata