向xml文件中插入一个属性项,折腾了半天,终于搞明白了insertBefore的用法,还是COM的门外汉啊!
函数原型是:
insertBefore(IXMLDOMNode *newChild, VARIANT refChild);
第一个参数是要插入的新节点,这个好理解,问题是第二个参数居然是VARIANT 类型,这让我这个对COM一无所知的孩子感到压力好大;
上baidu google了半天,很多都没答案,幸亏老天不负有心人啊!记录一下,让像我这样的菜鸟不用彷徨:
IDispatch* disp = pInsert; // 将插入的节点指针转换一下就OK了
CComVariant ChildNodeAsVariant(disp);
pSecond->insertBefore(pThird, &ChildNodeAsVariant);
// 插入到pThird节点之后