XmlTextReader.HasValue プロパティ

定義

現在のノードが String.Empty 以外の Value を保持できるかどうかを示す値を取得します。Gets a value indicating whether the current node can have a Value other than String.Empty.

public:
 virtual property bool HasValue { bool get(); };
public override bool HasValue { get; }
member this.HasValue : bool
Public Overrides ReadOnly Property HasValue As Boolean

プロパティ値

リーダーが現在配置されているノードが Value を持つことができる場合は true。それ以外の場合は falsetrue if the node on which the reader is currently positioned can have a Value; otherwise, false.

次の例では、値を持つことができるすべてのノードの値を表示します。The following example displays the value for every node that can have a value.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlTextReader^ reader = nullptr;
   try
   {
      
      //Load the reader with the XML file.
      reader = gcnew XmlTextReader( "book1.xml" );
      reader->WhitespaceHandling = WhitespaceHandling::None;
      
      //Parse the file and display each node.
      while ( reader->Read() )
      {
         if ( reader->HasValue )
                  Console::WriteLine( "({0})  {1}={2}", reader->NodeType, reader->Name, reader->Value );
         else
                  Console::WriteLine( "({0}) {1}", reader->NodeType, reader->Name );
      }
   }
   finally
   {
      if ( reader != nullptr )
            reader->Close();
   }

}

using System;
using System.IO;
using System.Xml;

public class Sample
{

  public static void Main()
  {
    XmlTextReader reader = null;

    try
    {           
        //Load the reader with the XML file.
        reader = new XmlTextReader("book1.xml");
        reader.WhitespaceHandling = WhitespaceHandling.None;

        //Parse the file and display each node.
        while (reader.Read())
        {
           if (reader.HasValue)
             Console.WriteLine("({0})  {1}={2}", reader.NodeType, reader.Name, reader.Value);
           else
             Console.WriteLine("({0}) {1}", reader.NodeType, reader.Name);
         }           
     }

     finally
     {
       if (reader!=null)
         reader.Close();
     }
  }
} // End class
Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        Dim reader As XmlTextReader = Nothing
        
        Try
            'Load the reader with the XML file.
            reader = New XmlTextReader("book1.xml")
            reader.WhitespaceHandling = WhitespaceHandling.None
            
            'Parse the file and display each node.
            While reader.Read()
                If reader.HasValue Then
                    Console.WriteLine("({0})  {1}={2}", reader.NodeType, reader.Name, reader.Value)
                Else
                    Console.WriteLine("({0}) {1}", reader.NodeType, reader.Name)
                End If
            End While
        
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub
End Class

この例では、入力として book1.xml というファイルを使用します。The example uses the file, book1.xml, as input.


<?xml version='1.0' ?>
<!DOCTYPE book [<!ENTITY h 'hardcover'>]>
<book>
  <title>Pride And Prejudice</title>
  <misc>&h;</misc>
</book>

注釈

注意

.NET Framework 2.0 以降では、新しい機能を利用するために、XmlReader.Create メソッドを使用して @no__t 0 のインスタンスを作成することをお勧めします。Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

返す値を持つノード型の一覧を次の表に示します。The following table lists node types that have a value to return.

ノード型Node type [値]Value
Attribute 属性の値。The value of the attribute.
CDATA CDATA セクションの内容。The content of the CDATA section.
Comment コメントの内容。The content of the comment.
DocumentType 内部サブセット。The internal subset.
ProcessingInstruction ターゲットを除く全内容。The entire content, excluding the target.
SignificantWhitespace 混合コンテンツ モデル内のマークアップ間の空白。The white space between markup in a mixed content model.
Text テキスト ノードの内容。The content of the text node.
Whitespace マークアップ間の空白。The white space between markup.
XmlDeclaration 宣言の内容。The content of the declaration.

適用対象

こちらもご覧ください