我在从XML删除节点时遇到了一些问题。
以下是我的XML架构
<?xml version="1.0" encoding="ISO-8859-1"?>
<file>
<header Description="Lovely Tool"></header>
<ToolPath>C:\MyDocs\MyTool\</ToolPath>
<ToolDetails>
<Name>XML Tool</Name>
<Description>XML parser</Description>
<Comments>Good Tool for XML</Comments>
</ToolDetails>
</file>
我想要删除节点ToolDetails
及其childs
,我尝试使用MSXML,但它不起作用,
这是我的代码
CString childName;
MSXML2::IXMLDOMNodePtr childPtr = NULL;
MSXML2::IXMLDOMNodePtr delNode = NULL;
int i=0;
MSXML2::IXMLDOMNodeListPtr pChildNodeListPtr = NULL;
delNode = m_pRoot->GetchildNodes()->Getitem(index+2);//m_pRoot is the root ptr
childName=(char*)m_ptrDataBlock->nodeName;
HRESULT hr = m_pRoot->removeChild(delNode);
答案 0 :(得分:1)
Getitem(index+2)
只会返回index + 2th
项的句柄。
要删除节点,您还需要通过调用来分离项目
Getitem(index)->detach()