[Home] [By Thread] [By Date] [Recent Entries]

  • From: Craig Miller <craigm@r...>
  • To: XML-Dev <xml-dev@x...>
  • Date: Fri, 20 Oct 2000 12:45:48 -0700

I'm trying to use the MSXML DOM to insert a node before another already
existing node.  So, I'm trying to use the insertBefore method to accomplish
this.  I'm having a difficult time getting this method to work because of
it's second parameter.  In the documentation it say's that the second
parameter is a VARIANT which is the address of the reference node.  My code
looks something like this.

MSXML2::IXMLDOMNode* pNode, * pInsertBeforeNode, * pOutNode = NULL;
//Code to get a valid pNode and pInsertBeforeNode

CComVariant vReference(&(*pInsertBeforeNode));
//That call returns vReference as an VT_I4

//pDoc is a valid pointer to an IXMLDOMDocument2
HRESUTL hr = pDoc->insertBefore(pNode, vReference, &pOutNode);

The call to insertBefore always fails.  If I set vReference.vt = VT_EMPTY it
will work but my node will be in the wrong place.

Has anyone gotten the insertBefore method to work?  I must not be
initializing the VARIANT correctly.

Any help would be greatly appreciated,

Craig



Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member