XmlValidatingReader.HasValue Property

Definition

Gets a value indicating whether the current node can have a Value other than String.Empty.

C#
public override bool HasValue { get; }

Property Value

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

Examples

The following example reads in XML with various data types and displays each of the nodes.

C#
using System;
using System.IO;
using System.Xml;

public class Sample
{

  public static void Main()
  {

    //Create the validating reader.
    XmlTextReader txtreader = new XmlTextReader("book1.xml");
    txtreader.WhitespaceHandling = WhitespaceHandling.None;
    XmlValidatingReader reader = new XmlValidatingReader(txtreader);
    reader.ValidationType = ValidationType.None;

    //Parse the file and each node and its value.
    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);
    }

    //Close the reader.
    reader.Close();
  }
} // End class

Remarks

Anteckning

The XmlValidatingReader class is obsolete in .NET Framework 2.0. You can create a validating XmlReader instance by using the XmlReaderSettings class and the Create method. For more information, see the Remarks section of the XmlReader reference page.

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.

Applies to

Produkt Versioner
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

See also