IXMLDOMNode Interface

The IXMLDOMNode interface provides methods that represent the core functionality of any node. For more information, see the Microsoft XML SDK 3.0 documentation available at the Microsoft Web site.

In addition to the methods inherited from the IDispatch interface, the IXMLDOMNode interface exposes the following methods.

Method

Description

appendChild

Appends the supplied new child as the last child of this node.

cloneNode

Creates a new node that is an exact clone of this node.

get_attributes

Retrieves the list of attributes for this node.

get_childNodes

Retrieves a node list containing the children (for nodes that can have children).

get_firstChild

Retrieves the first child of this node.

get_lastChild

Retrieves the last child node.

get_nextSibling

Retrieves the next sibling of this node in the parent's child list.

get_nodeName

Retrieves the qualified name of the element, attribute, or entity reference, or a fixed string for other node types.

get_nodeType

Specifies the XML DOM node type, which determines valid values and whether the node can have child nodes.

get_nodeTypeString*

Retrieves the node type in string form.

get_nodeValue

Retrieves the text associated with the node.

get_ownerDocument

Retrieves the root of the document that contains this node.

get_parentNode

Retrieves the parent node (for nodes that can have parents).

get_previousSibling

Retrieves the left sibling of this node.

hasChildNodes

Retrieves a Boolean value indicating whether this node has children.

insertBefore

Inserts a child node to the left of the specified node or at the end of the list.

put_nodeValue

Specifies the text associated with the node; the text that is associated depends on the node type.

removeChild

Removes the specified child node from the list of children and returns it.

replaceChild

Returns the specified old child node and replaces it with the supplied new child node.

* Denotes an extension to the W3C DOM.

Example

The following example retrieves a pointer to an IXMLDOMNode interface and retrieves the name for that node.

#include “wmsserver.h”
#include <atlbase.h> // Includes CComVariant and CComBSTR.

// Declare variables.
IWMSServer*           pServer;
IXMLDOMDocument*      pPlaylist;
IXMLDOMElement*       pXMLElement;
IXMLDOMNodeList*      pXMLNodeList;
IXMLDOMNode*          pXMLNode;

HRESULT               hr;
CComVariant           varValue;
CComBSTR              bstrName;
VARIANT_BOOL          bIsSuccessful;

// Initialize the COM library and retrieve a pointer
// to an IWMSServer interface.
hr = CoInitialize(NULL);
hr = CoCreateInstance(CLSID_WMSServer, NULL, CLSCTX_ALL, 
       IID_IWMSServer, (void**)&pServer);
if (FAILED(hr)) goto EXIT;

// Create the playlist object.
hr = pServer->CreatePlaylist(&pPlaylist);

// Load a sample playlist file.
varValue = "c:\\wmpub\\wmroot\\simple.wsx";
hr = pPlaylist->load(varValue, &bIsSuccessful);
if (FAILED(hr)) goto EXIT;

if (bIsSuccessful)
{
    // Retrieve a pointer to the IXMLDOMElement interface.
    hr = pPlaylist->get_documentElement(&pXMLElement);
    if (FAILED(hr)) goto EXIT;

    // Retrieve a pointer to the IXMLNodeList interface.
    hr = pXMLElement->get_childNodes(&pXMLNodeList);
    if (FAILED(hr)) goto EXIT;

    // Get the first node in the node list and 
    // retrieve the node name.
    hr = pXMLNodeList->get_item(0, &pXMLNode);
    if (FAILED(hr)) goto EXIT;
    hr = pXMLNode->get_nodeName(&bstrName);
    if (FAILED(hr)) goto EXIT;
}

EXIT:
    // TODO: Release temporary COM objects and uninitialize COM.

See Also

Concepts

Programming Reference (C++)