Добавление документа XML внутри другого в Dynamics AX - PullRequest
1 голос
/ 12 мая 2011

У меня есть функция, которая создает и возвращает документ 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 в функции. Как я могу остановить это, игнорировать или обойти эту ошибку другим способом?

1 Ответ

1 голос
/ 12 мая 2011

Попробуйте использовать return xmlParentElem.xml(); вместо return xmlOut.xml();.

...