Прочитать на английском

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


XPathNavigator.Matches Метод

Определение

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

Перегрузки

Matches(String)

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

Matches(XPathExpression)

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

Matches(String)

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

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

public virtual bool Matches(string xpath);

Параметры

xpath
String

Выражение XPath.

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

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

Исключения

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

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

Примеры

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

Комментарии

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

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

.NET 10 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Matches(XPathExpression)

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

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

public virtual bool Matches(System.Xml.XPath.XPathExpression expr);

Параметры

expr
XPathExpression

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

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

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

Исключения

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

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

Примеры

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

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);
    }
}

В этом примере в качестве входных данных используется файл 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 .

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

.NET 10 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1