XmlTextReader.HasValue Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
Property Value
true
if the node on which the reader is currently positioned can have a Value
; otherwise, false
.
Examples
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
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>
Remarks
Note
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 |
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. |