XmlNodeReader.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.
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 which can have a value.
#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
Remarks
Note
In the .NET Framework 2.0, the recommended practice is to create XmlReader instances using the XmlReaderSettings class and the Create method. This allows you to take full advantage of all the new features introduced in the .NET Framework. For more information, see the Remarks section in 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. |