【发布时间】:2011-08-11 02:45:13
【问题描述】:
我的情况是,我们对 Web 服务使用合同优先方法。我必须使用 CDATA 来避免特殊字符,这些字符需要附加到我们当前的字符串变量中。将 CDATA 标记附加到当前字符串(在响应对象中作为 xml 元素返回)的最佳方法是什么?我们正在使用 C#。
【问题讨论】:
我的情况是,我们对 Web 服务使用合同优先方法。我必须使用 CDATA 来避免特殊字符,这些字符需要附加到我们当前的字符串变量中。将 CDATA 标记附加到当前字符串(在响应对象中作为 xml 元素返回)的最佳方法是什么?我们正在使用 C#。
【问题讨论】:
您可以使用 Linq-to-XML 库中的 XCData 构造,它应该自动将 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 + "]]>";
}
【讨论】: