次の方法で共有


XPathNavigator.Matches メソッド

定義

現在のノードが、指定された System.Xml.XPath 式と一致するかどうかを判断します。

オーバーロード

Matches(String)

現在のノードが、指定された XPath 式と一致するかどうかを判断します。

Matches(XPathExpression)

現在のノードが指定した XPathExpression と一致するかどうかを判断します。

Matches(String)

現在のノードが、指定された 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 式。

戻り値

Boolean

現在のノードが、指定された XPath 式と一致する場合は true。それ以外の場合は false

例外

XPath 式を評価できません。

XPath 式が有効ではありません。

メソッドの Matches 例については、メソッドを XPathNavigator.Matches 参照してください。

注釈

このメソッドは、の状態 XPathNavigatorには影響しません。

適用対象

Matches(XPathExpression)

現在のノードが指定した 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

コンパイル済みの XPath 式が格納された XPathExpression オブジェクト。

戻り値

Boolean

現在のノードが XPathExpression に一致する場合は true。それ以外の場合は 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 式を含むオブジェクトが XPath 式 Stringではなく指定されている点が異なります。

適用対象