Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

XPathNavigator::Matches Method (XPathExpression^)

 

Determines whether the current node matches the specified XPathExpression.

Namespace:   System.Xml.XPath
Assembly:  System.Xml (in System.Xml.dll)

public:
virtual bool Matches(
	XPathExpression^ expr
)

Parameters

expr
Type: System.Xml.XPath::XPathExpression^

An XPathExpression object containing the compiled XPath expression.

Return Value

Type: System::Boolean

true 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
Return to top
Show:
© 2017 Microsoft