XPathNavigator.Matches Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Determines whether the current node matches the specified System.Xml.XPath expression.
Overloads
Matches(String) |
Determines whether the current node matches the specified XPath expression. |
Matches(XPathExpression) |
Determines whether the current node matches the specified XPathExpression. |
Matches(String)
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
Determines whether the current node matches the specified XPath expression.
public:
virtual bool Matches(System::String ^ xpath);
public virtual bool Matches (string xpath);
abstract member Matches : string -> bool
override this.Matches : string -> bool
Public Overridable Function Matches (xpath As String) As Boolean
Parameters
- xpath
- String
The XPath expression.
Returns
true
if the current node matches the specified XPath expression; otherwise, false
.
Exceptions
The XPath expression cannot be evaluated.
The XPath expression is not valid.
Examples
For an example of the Matches method, see the XPathNavigator.Matches method.
Remarks
This method has no affect on the state of the XPathNavigator.
Applies to
Matches(XPathExpression)
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
Determines whether the current node matches the specified XPathExpression.
public:
virtual bool Matches(System::Xml::XPath::XPathExpression ^ expr);
public virtual bool Matches (System.Xml.XPath.XPathExpression expr);
abstract member Matches : System.Xml.XPath.XPathExpression -> bool
override this.Matches : System.Xml.XPath.XPathExpression -> bool
Public Overridable Function Matches (expr As XPathExpression) As Boolean
Parameters
- expr
- XPathExpression
An XPathExpression object containing the compiled XPath expression.
Returns
true
if the current node matches the XPathExpression; otherwise, false
.
Exceptions
The XPath expression cannot be evaluated.
The XPath expression is not valid.
Examples
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);
}
}
XPathDocument document = new 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);
}
}
Dim document As XPathDocument = New XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
' Select all book nodes.
Dim nodes As XPathNodeIterator = navigator.SelectDescendants("book", "", False)
' Select all book nodes that have the matching attribute value.
Dim expr As XPathExpression = navigator.Compile("book[@genre='novel']")
While nodes.MoveNext()
Dim navigator2 As XPathNavigator = nodes.Current.Clone()
If navigator2.Matches(expr) Then
navigator2.MoveToFirstChild()
Console.WriteLine("Book title: {0}", navigator2.Value)
End If
End While
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>
Remarks
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.