如何追加使用MSXML和C ++重名的元素呢?(How do I append elements w

2019-10-18 02:55发布

我写一些代码来更新使用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);
}

Answer 1:

我不知道问题究竟是什么,但我的地方是二进制失步。 我通过“清理解决方案”,而不仅仅是“生成解决方案”选项重建整个项目。 现在两个孩子使用上面的代码创建的。 这是我不清楚为什么我能够通过调试步骤中的代码,但第二个孩子从来没有创建,直到我清理解决方案。

杰夫 - 雷米,谢谢,你的意见。



文章来源: How do I append elements with duplicate names using MSXML & C++?
标签: c++ msxml msxml4