Microsoft XML Core Services (MSXML) 5.0 for Microsoft Office - DOM Reference

selectSingleNode Method

Applies the specified pattern-matching operation to this node's context and returns the first matching node.

[Script]

Script Syntax

var objXMLDOMNode = oXMLDOMNode.selectSingleNode(queryString);

Parameters

queryString
A string specifying an XPath expression.

Return Value

An object. Returns the first node that matches the given pattern-matching operation. If no nodes match the expression, returns a null value.

Example

The following script example creates an IXMLDOMNode object and sets it to the first instance of an AUTHOR node with a BOOK parent. It then displays the text of the node.

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.5.0");
var currNode;
xmlDoc.async = false;
xmlDoc.load("books.xml");
if (xmlDoc.parseError.errorCode <> 0) {
   var myErr = xmlDoc.parseError;
   alert("You have error " + myErr.reason);
} else {
   xmlDoc.setProperty("SelectionLanguage", "XPath");
   currNode = xmlDoc.selectSingleNode("//book/author");
   alert(currNode.text);
}
[Visual Basic]

Visual Basic Syntax

Set objXMLDOMNode = oXMLDOMNode.selectSingleNode(queryString)

Parameters

queryString
A string specifying an XPath expression.

Return Value

An object. Returns the first node that matches the given pattern-matching operation. If no nodes match the expression, object value is Nothing.

Example

The following Microsoft® Visual Basic® example creates an IXMLDOMNode object and sets it to the first instance of an AUTHOR node with a BOOK parent. It then displays the text of the node.

Dim xmlDoc As New Msxml2.DOMDocument50
Dim currNode As IXMLDOMNode
xmlDoc.async = False
xmlDoc.Load ("books.xml")
If (xmlDoc.parseError.errorCode <> 0) Then
   Dim myErr
   Set myErr = xmlDoc.parseError
   MsgBox("You have error " & myErr.reason)
Else
   xmlDoc.setProperty "SelectionLanguage", "XPath"
   Set currNode = xmlDoc.selectSingleNode("//book/author")
   MsgBox currNode.Text
End If
[C/C++]

C/C++ Syntax

HRESULT selectSingleNode(
    BSTR queryString,
    IXMLDOMNode **resultNode);

Parameters

queryString [in]
A string specifying an XPath expression.
resultNode [out, retval]
The first node that is selected by the given pattern-matching operation. If no nodes match the expression, returns a null value.

C/C++ Return Values

S_OK
The value returned if successful.
S_FALSE
The value returned if there is no match.
E_INVALIDARG
The value returned if the resultNode parameter is Null.

Remarks

The selectSingleNode method is similar to the selectNodes method, but returns only the first matching node rather than the list of all matching nodes.

This member is an extension of the World Wide Web Consortium (W3C) Document Object Model (DOM).

To view reference information for Visual Basic, C/C++, or Script only, click the Language Filter button Language Filter in the upper-left corner of the page.

See Also

Using XSLT with DOM or SAX | selectNodes Method | setProperty Method | XPath Syntax

Applies to: IXMLDOMAttribute | IXMLDOMCDATASection | IXMLDOMCharacterData | IXMLDOMComment | DOMDocument | IXMLDOMDocumentFragment | IXMLDOMDocumentType | IXMLDOMElement | IXMLDOMEntity | IXMLDOMEntityReference | IXMLDOMNode | IXMLDOMNotation | IXMLDOMProcessingInstruction | IXMLDOMText