XmlNodeReader.HasValue 속성

정의

현재 노드에 Value가 있는지 여부를 나타내는 값을 가져옵니다.

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

속성 값

Boolean

현재 판독기가 위치한 노드에 Value가 있으면 true이고, 그렇지 않으면 false입니다.

예제

다음 예제에서는 값을 가질 수 있는 모든 노드의 값을 표시합니다.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlNodeReader^ reader = nullptr;
   try
   {
      
      // Create and load an XmlDocument.
      XmlDocument^ doc = gcnew XmlDocument;
      doc->LoadXml( "<?xml version='1.0' ?>"
      "<!DOCTYPE book [<!ENTITY h 'hardcover'>]>"
      "<book>"
      "<title>Pride And Prejudice</title>"
      "<misc>&h;</misc>"
      "</book>" );
      reader = gcnew XmlNodeReader( doc );
      
      // 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() {

    XmlNodeReader reader = null;

    try {

        // Create and load an XmlDocument.
        XmlDocument doc = new XmlDocument();
        doc.LoadXml("<?xml version='1.0' ?>" +
                    "<!DOCTYPE book [<!ENTITY h 'hardcover'>]>" +
                    "<book>" +
                    "<title>Pride And Prejudice</title>" +
                    "<misc>&h;</misc>" +
                    "</book>");

        reader = new XmlNodeReader(doc);

        // 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
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    Public Shared Sub Main()
        Dim reader As XmlNodeReader = Nothing
        
        Try
            'Create and load an XmlDocument.
            Dim doc As New XmlDocument()
            doc.LoadXml("<?xml version='1.0' ?>" & _
                        "<!DOCTYPE book [<!ENTITY h 'hardcover'>]>" & _
                        "<book>" & _
                        "<title>Pride And Prejudice</title>" & _
                        "<misc>&h;</misc>" & _
                        "</book>")
            
            reader = New XmlNodeReader(doc)
            
            '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

설명

참고

.NET Framework 2.0에서는 클래스와 Create 메서드를 사용하여 XmlReaderSettings 인스턴스를 만드는 XmlReader 것이 좋습니다. 이렇게 하면 .NET Framework 도입된 모든 새로운 기능을 최대한 활용할 수 있습니다. 자세한 내용은 참조 페이지의 설명 섹션을 XmlReader 참조하세요.

다음 표에서는 반환할 값이 있는 노드 형식을 보여 줍니다.

노드 유형
Attribute 특성 값
CDATA CDATA 섹션 내용입니다.
Comment 주석의 내용입니다.
DocumentType 내부 하위 집합입니다.
ProcessingInstruction 대상을 제외한 전체 내용입니다.
SignificantWhitespace 혼합된 콘텐츠 모델의 태그 간 공백입니다.
Text 텍스트 노드의 내용입니다.
Whitespace 태그 사이의 공백입니다.
XmlDeclaration 선언 내용입니다.

적용 대상