Это необычная ситуация. Мы вынуждены взаимодействовать с третьей стороной, которая требует переноса определенных значений в ответе xml, даже если это просто строковое значение.
Example: <Property name="someName" type="String"><![CDATA[someValue]]></Property>
Мы добавляем эти узлы свойств в документ следующим образом:
XPathExpression query = xPathNavigator.Compile(xpath);
XPathNavigator node = xPathNavigator.SelectSingleNode(query.Expression, xmlNamespaceManager);
string property = "<Property name='someName' type='String'><![CDATA[someValue]]></Property>";
node.AppendChild(property);
Проблема в том, что полученный XML выглядит следующим образом
<Property name="someName" type="String">someValue</Property>
CDATA продолжает извлекаться.