У меня есть функция, которая создает и возвращает XML-документ. Затем я хочу вставить весь этот документ в другой XML-документ. Проблема, с которой я столкнулся, заключается в том, что информация заголовка XML автоматически добавляется в документ XML, а затем я получаю сообщение об ошибке при попытке вставить это. Мой код выглядит следующим образом:
xmlElem = xmlDoc.createElement("MyNode");
tmpXmlStr = this.MyXmlBuildFunc();
xmlElem.innerXml(tmpXmlStr);
// Now try to add this to the main document
xmlParentNode.appendChild(xmlElem);
Моя функция выглядит примерно так:
str MyXmlBuildFunc()
{
XmlDocument xmlOut;
XmlNode curNod;
XmlElement xmlElem;
XmlElement xmlParentElem;
;
xmlOut = XmlDocument::newBlank();
xmlParentElem = xmlOut.createElement("MainNode");
xmlElem = xmlOut.createElement("NodeName");
xmlElem.innerText("NodeValue");
xmlParentElem.appendChild(xmlElem);
xmlOut.appendChild(xmlParentElem);
return xmlOut.xml();
}
Ошибка, которую я получаю, выглядит следующим образом:
Unexpected XML declaration. The XML declaration must be the first node in the document, and no white space characters are allowed to appear before it
Прослеживая это, я полагаю, что это вызвано определением XML, созданным XmlDocument, построенным в функции. Как я могу остановить это, проигнорировать это или обойти эту ошибку каким-либо другим способом?