Используя функции MSXML2 из библиотеки "msxml3.dll", я пытаюсь дублировать разделы в документе XML, но он не работает, как ожидалось.
Вот XML:
<result>
<Target>
<Point>
<pos dimension="2">60.384005 5.333862</pos>
</Point>
</Target>
</result>
Я хочу добавить несколько разделов.Поэтому я хочу взять узел, продублировать его и поместить под существующий узел <Target>
.Я почти убежден, что должен использовать метод Clone, но, похоже, он не работает.Код C ++:
typedef MSXML2::IXMLDOMNodePtr XmlNode;
XmlNode pNode = pXMLRequest->selectSingleNode("//result");
if(pNode==NULL)
{ m_szErrorText = m_szErrorText + _T(" 'result' node not found");return FALSE;}
XmlNode pTargetNode = pNode->selectSingleNode("Target");
XmlNode pNewTargetNode = pTargetNode->cloneNode(true);
pNode->appendChild(pNewTargetNode);
Но когда я запускаю этот код, с документом XML ничего не происходит.И когда я проверяю текст XML в pNewTargetNode, я вижу, что это только '<result>'
, который является просто именем узла, хотя я ожидаю, что он будет содержать все узлы в <Target>...</Target>
.Что-то мне не хватает?