我正在编写一些代码来使用 MSXML4 和 C++ 更新 XML DOM。我需要一种将子元素附加到父元素的方法。我在下面编写的代码一直有效,直到孩子的头衔与父级下另一个孩子的头衔相匹配。我无法更改孩子的头衔,所以我需要找到一种方法将它们附加到父母身上。
任何人都可以提供一些指导吗?
// this call creates '<parent><child/></parent>'
AppendChild("/root/parent", "child");
// this call attempts to create '<parent><child/><child/></parent>' but the DOM remains unchanged ('<parent><child/></parent>')
AppendChild("/root/parent", "child");
void AppendChild(const std::string kPathOfParent, const std::string kNameOfChild)
{
MSXML2::IXMLDOMNodePtr pElement = m_pXmlDoc->createNode(NODE_ELEMENT, kNameOfChild.c_str(), m_xmlns.c_str());
MSXML2::IXMLDOMNodePtr pParent = m_pXmlDoc->selectSingleNode(kPathOfParent.c_str());
MSXML2::IXMLDOMNodePtr pNewChild = pParent->appendChild(pElement);
}