我有一个构建并返回 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 定义引起的。我怎样才能阻止它这样做,忽略它,或者以其他方式解决这个错误?