XPathNavigator::Matches Method (XPathExpression^)
.NET Framework (current version)
Determines whether the current node matches the specified XPathExpression.
Assembly: System.Xml (in System.Xml.dll)
Parameters
- expr
-
Type:
System.Xml.XPath::XPathExpression^
An XPathExpression object containing the compiled XPath expression.
Return Value
Type: System::Booleantrue if the current node matches the XPathExpression; otherwise, false.
| Exception | Condition |
|---|---|
| ArgumentException | The XPath expression cannot be evaluated. |
| XPathException | The XPath expression is not valid. |
This method has no effect on the state of the XPathNavigator. This method is identical to the XPathNavigator::Matches method, except that a XPathExpression object containing the compiled XPath expression is specified, rather than an XPath expression String.
The following example displays the titles of all novels.
XPathDocument^ document = gcnew XPathDocument("books.xml"); XPathNavigator^ navigator = document->CreateNavigator(); // Select all book nodes. XPathNodeIterator^ nodes = navigator->SelectDescendants("book", "", false); // Select all book nodes that have the matching attribute value. XPathExpression^ expr = navigator->Compile("book[@genre='novel']"); while (nodes->MoveNext()) { XPathNavigator^ navigator2 = nodes->Current->Clone(); if (navigator2->Matches(expr)) { navigator2->MoveToFirstChild(); Console::WriteLine("Book title: {0}", navigator2->Value); } }
The example uses the file, books.xml, as input.
<?xml version="1.0" encoding="utf-8" ?> <bookstore> <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0"> <title>The Autobiography of Benjamin Franklin</title> <author> <first-name>Benjamin</first-name> <last-name>Franklin</last-name> </author> <price>8.99</price> </book> <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2"> <title>The Confidence Man</title> <author> <first-name>Herman</first-name> <last-name>Melville</last-name> </author> <price>11.99</price> </book> <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6"> <title>The Gorgias</title> <author> <name>Plato</name> </author> <price>9.99</price> </book> </bookstore>
.NET Framework
Available since 1.1
Silverlight
Available since 4.0
Available since 1.1
Silverlight
Available since 4.0
Show: