Недопустимые символы XML при создании узла CData из UnicodeString

IDE: Embarcadero XE5 c ++ builder.

Я пытаюсь сброситьUnicodeStrings вРазделы XML CData.

Небольшая выдержка из такой строки:

 u"‰PNG\r\n\x1A\n\0\0\0\rIHDR\0\0\0õ\0\0\02\b\x06\0\0\0„\\i\0\0\0\x01sRGB\0®Î\x1Cé\0\0\0\x04gAMA\0\0±\vüa\x05\0\0\0\tpHYs\0\0\x0EÃ\0\0\x0EÃ\x01Ço¨d\0\0\v¼IDATxÚíœypUÕ\x19ÀO\x06…°¤\x04D$ˆ²\b1š\b\[email protected]"

Я знаю, что документ XML может содержать не-ASCII-символы, и я подумал, что содержимое раздела XML CData не анализируется синтаксическим анализатором XML (за исключением индикатора конца раздела »[[>", чего нет в моих данных, проверено на это).

когдасоздание(пишу) раздел CData, я все еще получаю "при создании узла в текстовом содержимом был обнаружен неверный символ" ошибка.

Пример кода:

_di_IXMLDocument pXMLDocument = NewXMLDocument("1.0");
// I've played around with the document encoding with no success, guessing it's only applicable while reading the document.
// pXMLDocument->SetEncoding(L"iso-8859-1"); 

String myString;   // Unicode, contains my data string.

// 1st param of CreateNode method is of type UnicodeString.
di_IXMLNode pCDataNode = pXMLDocument->CreateNode( myString, ntCData ); 

Любые мысли о том, почему это не удается? Проблема с кодировкой?

Ответы на вопрос(3)

Ваш ответ на вопрос