Export (0) Print
Expand All

XmlNodeReader.HasValue Property

Gets a value indicating whether the current node can have a Value.

[Visual Basic]
Overrides Public ReadOnly Property HasValue As Boolean
[C#]
public override bool HasValue {get;}
[C++]
public: __property bool get_HasValue();
[JScript]
public override function get HasValue() : Boolean;

Property Value

true if the node on which the reader is currently positioned can have a Value; otherwise, false.

Remarks

The following table lists node types that have a value to return.

Node Type Value
Attribute The value of the attribute.
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.

Example

[Visual Basic, C#, C++] The following example displays the value for every node which can have a value.

[Visual Basic] 
Option Explicit
Option Strict

Imports System
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 'Main ' End class

[C#] 
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

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;

int main() {

   XmlNodeReader* reader = 0;

   try {

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

      reader = new XmlNodeReader(doc);

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

   __finally {
      if (reader!=0)
         reader->Close();
   }
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

XmlNodeReader Class | XmlNodeReader Members | System.Xml Namespace

Show:
© 2014 Microsoft