XPathNavigator.Matches メソッド

定義

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

オーバーロード

Matches(String)

現在のノードが、指定された XPath 式と一致するかどうかを判断します。Determines whether the current node matches the specified XPath expression.

Matches(XPathExpression)

現在のノードが指定した XPathExpression と一致するかどうかを判断します。Determines whether the current node matches the specified XPathExpression.

Matches(String)

現在のノードが、指定された XPath 式と一致するかどうかを判断します。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

パラメーター

xpath
String

XPath 式。The XPath expression.

戻り値

現在のノードが、指定された XPath 式と一致する場合は true。それ以外の場合は falsetrue if the current node matches the specified XPath expression; otherwise, false.

例外

XPath 式を計算できません。The XPath expression cannot be evaluated.

XPath 式が無効です。The XPath expression is not valid.

Matchesメソッドの例についXPathNavigator.Matchesては、メソッドを参照してください。For an example of the Matches method, see the XPathNavigator.Matches method.

注釈

このメソッドは、 XPathNavigatorの状態には影響しません。This method has no affect on the state of the XPathNavigator.

Matches(XPathExpression)

現在のノードが指定した XPathExpression と一致するかどうかを判断します。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

パラメーター

expr
XPathExpression

コンパイル済みの XPath 式が格納された XPathExpression オブジェクト。An XPathExpression object containing the compiled XPath expression.

戻り値

現ノードが XPathExpression に一致する場合は true。それ以外の場合は falsetrue if the current node matches the XPathExpression; otherwise, false.

例外

XPath 式を計算できません。The XPath expression cannot be evaluated.

XPath 式が無効です。The XPath expression is not valid.

次の例では、すべての novels のタイトルが表示されます。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

この例では、ファイルbooks.xmlを入力として使用します。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>  
  

注釈

このメソッドは、 XPathNavigatorの状態には影響しません。This method has no effect on the state of the XPathNavigator. このメソッドは、メソッドとXPathNavigator.Matches同じですが、xpath XPathExpressionStringではなく、コンパイルされた xpath 式を含むオブジェクトが指定されている点が異なります。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.

適用対象