peekNode Method
Gets the next node that the nextNode
method will return without advancing the list position.
JScript Syntax
var objXMLDOMNode = objXMLDOMSelection.peekNode();
Example
Note
You can use books.xml to run this sample code.
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
var oSelection, nodeBook;
xmlDoc.setProperty("SelectionLanguage", "XPath");
xmlDoc.async = false;
xmlDoc.load("books.xml");
if (xmlDoc.parseError.errorCode != 0) {
var myErr = xmlDoc.parseError;
WScript.Echo("You have error " + myErr.reason);
} else {
oSelection = xmlDoc.selectNodes("//book");
nodeBook = oSelection.peekNode();
WScript.Echo(nodeBook.xml);
}
Output
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
C/C++ Syntax
HRESULT peekNode (IXMLDOMNode** ppNode);
Parameters
ppNode
[out, retval]
The returned node, or Null if there are no more nodes or if E_PENDING is returned.
Return Values
S_OK
The value returned if the method is successful.
E_PENDING
The value returned if the context document is still being built and the selection object has hit the end of the available nodes to match.
Remarks
Like nextNode
, peekNode
does not result in a snapshot of all matching nodes. In MSXML 6.0, consecutive calls to peekNode
will produce the same node over and over, independent of changes in the underlying tree. MSXML 3.0 does not not return the same node if the underlying data is modified.
Versioning
Implemented in: MSXML 30 and MSXML 6.0