XmlTextReader::HasValue Property
Gets a value indicating whether the current node can have a Value other than String.Empty.
Assembly: System.Xml (in System.Xml.dll)
Property Value
Type: System::Booleantrue if the node on which the reader is currently positioned can have a Value; otherwise, false.
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. |
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(); } }
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>
Available since 1.1
