Поделиться через


XPathNavigator.Matches Метод

Определение

Определяет, соответствует ли текущий узел указанному выражению System.Xml.XPath.

Перегрузки

Matches(String)

Определяет, соответствует ли текущий узел указанному выражению XPath.

Matches(XPathExpression)

Определяет, соответствует ли текущий узел указанному выражению XPathExpression.

Matches(String)

Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Определяет, соответствует ли текущий узел указанному выражению XPath.

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

Параметры

xpath
String

Выражение XPath.

Возвращаемое значение

Значение true, если текущий узел соответствует указанному выражению XPath; в противном случае — значение false.

Исключения

Не удается вычислить выражение XPath.

Недопустимое выражение XPath.

Примеры

Пример метода см. в Matches описании XPathNavigator.Matches метода .

Комментарии

Этот метод не влияет на состояние XPathNavigator.

Применяется к

Matches(XPathExpression)

Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Определяет, соответствует ли текущий узел указанному выражению 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

Параметры

expr
XPathExpression

Объект XPathExpression, содержащий скомпилированное выражение XPath.

Возвращаемое значение

Значение true, если текущий узел соответствует XPathExpression; в противном случае — значение false.

Исключения

Не удается вычислить выражение XPath.

Недопустимое выражение XPath.

Примеры

В следующем примере отображаются названия всех романов.

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

В этом примере в качестве входных данных используется файл books.xml.

<?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>  

Комментарии

Этот метод не влияет на состояние XPathNavigatorобъекта . Этот метод идентичен методу XPathNavigator.Matches , за исключением того, что XPathExpression указан объект , содержащий скомпилированное выражение XPath, а не выражение StringXPath .

Применяется к