Microsoft XML SDK 2.6 - XML Reference

IXMLDOMElement::removeAttributeNode Method

Removes the specified attribute from this element.

Visual Basic Syntax

Set objXMLDOMAttribute = oXMLDOMElement.removeAttributeNode(DOMAttribute)

C/C++ Syntax

HRESULT removeAttributeNode(
    IXMLDOMAttribute *DOMAttribute,
    IXMLDOMAttribute **attributeNode);

Parameters

DOMAttribute [in]
DOMAttribute object that is to be removed from this element.
attributeNode [out]
Removed element.

C/C++ Return Values

S_OK
Value returned if successful.
E_FAIL
Value returned if an error occurs.

Remarks

Note that if the attribute has a default value, this call also creates a new attribute object with the default value, associates the new attribute with this element, and resets the attribute's specified method.

C/C++ Example

IXMLDOMElement *pIXMLDOMElement = NULL;
_bstr_t bstrAttributeName = _T("dateCreated");
IXMLDOMAttribute *pIXMLDOMAttribute = NULL;
IXMLDOMAttribute *pRemovedIXMLDOMAttribute = NULL;
IXMLDOMDocument *pIXMLDOMDocument = NULL;
HRESULT hr;

try
{
   // Create an instance of DOMDocument and initialize pIXMLDOMDocument.
   // Load/create an XML fragment.
      hr = pIXMLDOMDocument->get_documentElement(&pIXMLDOMElement);
      SUCCEEDED(hr) ? 0 : throw hr;

      if(pIXMLDOMElement)
      {
         hr = pIXMLDOMElement->getAttributeNode(bstrAttributeName,                   &pIXMLDOMAttribute);
         if(SUCCEEDED(hr) && pIXMLDOMAttribute)
         {
            hr = pIXMLDOMElement->removeAttributeNode(pIXMLDOMAttribute,                &pRemovedIXMLDOMAttribute);
            if(SUCCEEDED(hr))
               // Attribute node removed.
               bResult = TRUE;
            pIXMLDOMAttribute->Release();
         }
         pIXMLDOMElement->Release();
      }
   // Release pIXMLDOMDocument when finished with it.
}
catch(...)
{
   // Release pIXMLDOMDocument if it exists.
   if(pIXMLDOMAttribute)
      pIXMLDOMAttribute->Release();
   if(pIXMLDOMElement)
      pIXMLDOMElement->Release();
   DisplayErrorToUser();
}

See Also

IXMLDOMElement Interface