1

我有一个构建并返回 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

跟踪它,我相信这是由函数中构建的 XmlDocument 创建的 XML 定义引起的。我怎样才能阻止它这样做,忽略它,或者以其他方式解决这个错误?

4

1 回答 1

1

尝试使用return xmlParentElem.xml();而不是return xmlOut.xml();.

于 2011-05-12T11:32:19.920 回答