XPathExpression.ReturnType プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > XPathExpression.ReturnType プロパティの意味・解説 

XPathExpression.ReturnType プロパティ

派生クラスオーバーライドされた場合XPath 式の結果型を取得します

名前空間: System.Xml.XPath
アセンブリ: System.Xml (system.xml.dll 内)
構文構文

Public MustOverride ReadOnly
 Property ReturnType As XPathResultType
Dim instance As XPathExpression
Dim value As XPathResultType

value = instance.ReturnType
public abstract XPathResultType ReturnType { get;
 }
public:
virtual property XPathResultType ReturnType {
    XPathResultType get () abstract;
}
/** @property */
public abstract XPathResultType get_ReturnType ()
public abstract function get
 ReturnType () : XPathResultType

プロパティ
XPath 式の結果型を表す XPathResultType 値。

使用例使用例

XPath戻り値の型を使用してXPath 式を確認する方法次の例に示します

Imports System
Imports System.Xml
Imports System.Xml.XPath

Public Class XPathExpressionExample

    Public Shared Sub Main()
        Dim document As XPathDocument = New
 XPathDocument("contosoBooks.xml")
        Dim navigator As XPathNavigator = document.CreateNavigator()

        Dim expression1 As XPathExpression
 = XPathExpression.Compile(".//bk:price/text()*10")
  ' Returns a number.
        Dim expression2 As XPathExpression
 = XPathExpression.Compile("bk:bookstore/bk:book/bk:price")
  ' Returns a nodeset.

        Dim manager As XmlNamespaceManager
 = New XmlNamespaceManager(navigator.NameTable)
        manager.AddNamespace("bk", "http://www.contoso.com/books")

        expression1.SetContext(manager)
        expression2.SetContext(manager)

        Evaluate(expression1, navigator)
        Evaluate(expression2, navigator)

    End Sub

    Public Shared Sub Evaluate(ByVal
 expression As XPathExpression, ByVal navigator
 As XPathNavigator)

        Select Case expression.ReturnType
            Case XPathResultType.Number
                Console.WriteLine(navigator.Evaluate(expression))
                Exit Sub

            Case XPathResultType.NodeSet
                Dim nodes As XPathNodeIterator
 = navigator.Select(expression)
                While nodes.MoveNext()
                    Console.WriteLine(nodes.Current.ToString())
                End While

            Case XPathResultType.Boolean
                If CType(navigator.Evaluate(expression), Boolean)
 Then
                    Console.WriteLine("True!")
                End If

            Case XPathResultType.String
                Console.WriteLine(navigator.Evaluate(expression))
        End Select

    End Sub
End Class
using System;
using System.Xml;
using System.Xml.XPath;

public class XPathExpressionExample
{
    public static void Main()
    {
        XPathDocument document = new XPathDocument("contosoBooks.xml");
        XPathNavigator navigator = document.CreateNavigator();

        XPathExpression expression1 = XPathExpression.Compile(".//bk:price/text()*10");
 // Returns a number.
        XPathExpression expression2 = XPathExpression.Compile("bk:bookstore/bk:book/bk:price");
 // Returns a nodeset.

        XmlNamespaceManager manager = new XmlNamespaceManager(navigator.NameTable);
        manager.AddNamespace("bk", "http://www.contoso.com/books");

        expression1.SetContext(manager);
        expression2.SetContext(manager);

        Evaluate(expression1, navigator);
        Evaluate(expression2, navigator);
    }

    public static void Evaluate(XPathExpression
 expression, XPathNavigator navigator)
    {
        switch (expression.ReturnType)
        {
            case XPathResultType.Number:
                Console.WriteLine(navigator.Evaluate(expression));
                break;

            case XPathResultType.NodeSet:
                XPathNodeIterator nodes = navigator.Select(expression);
                while (nodes.MoveNext())
                {
                    Console.WriteLine(nodes.Current.ToString());
                }
                break;

            case XPathResultType.Boolean:
                if ((bool)navigator.Evaluate(expression))
                    Console.WriteLine("True!");
                break;

            case XPathResultType.String:
                Console.WriteLine(navigator.Evaluate(expression));
                break;
        }
    }
}
public ref class Sample
{
public:
   static void Evaluate( XPathExpression^ expr,
 XPathNavigator^ nav )
   {
      XPathNodeIterator^ i = nav->Select(expr);
      switch ( expr->ReturnType )
      {
         case XPathResultType::Number:
            Console::WriteLine( nav->Evaluate( expr ) );
            break;

         case XPathResultType::NodeSet:
            while ( i->MoveNext() )
                        Console::WriteLine( i->Current );
            break;

         case XPathResultType::Boolean:
            if ( *safe_cast<bool^>(nav->Evaluate(
 expr )) )
                        Console::WriteLine( "True!" );
            break;

         case XPathResultType::String:
            Console::WriteLine( nav->Evaluate( expr ) );
            break;
      }
   }

};

int main()
{
   XPathDocument^ doc = gcnew XPathDocument( "books.xml" );
   XPathNavigator^ nav = doc->CreateNavigator();
   XPathExpression^ expr1 = nav->Compile( ".//price/text()*10"
 ); // Returns a number.

   XPathExpression^ expr2 = nav->Compile( "bookstore/book/price" );
 // Returns a nodeset.

   Sample^ MySample = gcnew Sample;
   MySample->Evaluate( expr1, nav );
   MySample->Evaluate( expr2, nav );
}

    XPathDocument doc = new XPathDocument("books.xml");
    XPathNavigator nav = doc.CreateNavigator();

    XPathExpression expr1 = nav.Compile(".//price/text()*10");
    // Returns a number.
    XPathExpression expr2 = nav.Compile("bookstore/book/price");
    // Returns a nodeset.
    Evaluate(expr1, nav);
    Evaluate(expr2, nav);
} //main

public static void Evaluate(XPathExpression
 expr, XPathNavigator nav)
{
    switch (expr.get_ReturnType()) {
        case XPathResultType.Number:
            Console.WriteLine(nav.Evaluate(expr));
            break;

        case XPathResultType.NodeSet:
            XPathNodeIterator i = nav.Select(expr);
            while (i.MoveNext()) {
                Console.WriteLine(i.get_Current().ToString());
            }
            break;

        case XPathResultType.Boolean:
            if (System.Convert.ToBoolean(nav.Evaluate(expr)))
 {
                Console.WriteLine("True!");
            }
            break;

        case XPathResultType.String:
            Console.WriteLine(nav.Evaluate(expr));
            break;
    }
} //Evaluate 

この例では、入力として、contosoBooks.xml というファイル使用してます。

<bookstore xmlns="http://www.contoso.com/books">
    <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>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XPathExpression クラス
XPathExpression メンバ
System.Xml.XPath 名前空間
XPathResultType



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「XPathExpression.ReturnType プロパティ」の関連用語

XPathExpression.ReturnType プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



XPathExpression.ReturnType プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS