XmlValidatingReader::NodeType Property
Gets the type of the current node.
Assembly: System.Xml (in System.Xml.dll)
Property Value
Type: System.Xml::XmlNodeTypeOne of the XmlNodeType values representing the type of the current node.
Note |
|---|
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. |
This property never returns the following XmlNodeType types: Document, DocumentFragment, Entity, or Notation.
The following example reads an XML file and displays each of the nodes.
#using <System.Xml.dll> using namespace System; using namespace System::IO; using namespace System::Xml; int main() { XmlTextReader^ txtreader = nullptr; XmlValidatingReader^ reader = nullptr; String^ filename = "items.xml"; try { //Load the reader with the data file and ignore all white space nodes. txtreader = gcnew XmlTextReader( filename ); txtreader->WhitespaceHandling = WhitespaceHandling::None; //Implement the validating reader over the text reader. reader = gcnew XmlValidatingReader( txtreader ); reader->ValidationType = ValidationType::None; //Parse the file and display each of the nodes. while ( reader->Read() ) { switch ( reader->NodeType ) { case XmlNodeType::Element: Console::Write( "<{0}>", reader->Name ); break; case XmlNodeType::Text: Console::Write( reader->Value ); break; case XmlNodeType::CDATA: Console::Write( "<![CDATA[{0}]]>", reader->Value ); break; case XmlNodeType::ProcessingInstruction: Console::Write( "<?{0} {1}?>", reader->Name, reader->Value ); break; case XmlNodeType::Comment: Console::Write( "<!--{0}-->", reader->Value ); break; case XmlNodeType::XmlDeclaration: Console::Write( "<?xml version='1.0'?>" ); break; case XmlNodeType::Document: break; case XmlNodeType::DocumentType: Console::Write( "<!DOCTYPE {0} [{1}]", reader->Name, reader->Value ); break; case XmlNodeType::EntityReference: Console::Write( reader->Name ); break; case XmlNodeType::EndElement: Console::Write( "</{0}>", reader->Name ); break; } } } finally { if ( reader != nullptr ) reader->Close(); } }
The example uses the file, items.xml, as input.
<?xml version="1.0"?> <!-- This is a sample XML document --> <!DOCTYPE Items [<!ENTITY number "123">]> <Items> <Item>Test with an entity: &number;</Item> <Item>test with a child element <more/> stuff</Item> <Item>test with a CDATA section <![CDATA[<456>]]> def</Item> <Item>Test with a char entity: A</Item> <!-- Fourteen chars in this element.--> <Item>1234567890ABCD</Item> </Items>
Available since 1.1
