Mega Code Archive

 
Categories / Visual C++ .NET / XML
 

Output depth of element

#include "stdafx.h" #using <system.xml.dll> using namespace System; using namespace System::Xml; void main() {     XmlReader ^reader;     reader = XmlReader::Create("..\\Monsters.xml");     while (reader->Read()){             switch (reader->NodeType)             {                 case XmlNodeType::Comment:                     Console::WriteLine(reader->Depth);                     Console::WriteLine(reader->Value);                     break;                 case XmlNodeType::Element:                     Console::WriteLine(reader->Depth);                     Console::WriteLine(reader->Name);                     if (reader->HasAttributes)                     {                         while (reader->MoveToNextAttribute())                         {                             Console::WriteLine(reader->Depth);                             Console::WriteLine(reader->Name);                             Console::WriteLine(reader->Value);                         }                         reader->MoveToElement();                     }                     if (reader->IsEmptyElement)                     {                         Console::WriteLine(reader->Depth);                         Console::WriteLine(reader->Name);                     }                     break;                 case XmlNodeType::EndElement:                     Console::WriteLine(reader->Depth);                     Console::WriteLine(reader->Name);                     break;                 case XmlNodeType::Text:                     Console::WriteLine(reader->Depth);                     Console::WriteLine(reader->Value);                     break;                 case XmlNodeType::XmlDeclaration:                     Console::WriteLine(reader->Depth);                     Console::WriteLine(reader->Name);                     if (reader->HasAttributes)                     {                         while (reader->MoveToNextAttribute())                         {                             Console::WriteLine(reader->Depth);                             Console::WriteLine(reader->Name);                             Console::WriteLine(reader->Value);                         }                     }                     reader->MoveToElement();                     Console::WriteLine(reader->Depth);                     Console::WriteLine(reader->Name);                     break;                 case XmlNodeType::Whitespace:                     break;                 default:                     Console::WriteLine("***UKNOWN*** node");                     Console::WriteLine(reader->Depth);                     Console::WriteLine(reader->Name);                     Console::WriteLine(reader->Value);             }         } }