Visual C++ .NET/XML/XmlNodeType — различия между версиями

Материал из .Net Framework эксперт
Перейти к: навигация, поиск
м (1 версия)
 
м (1 версия)
 
(нет различий)

Текущая версия на 15:05, 26 мая 2010

Get xml node type

<source lang="csharp">

  1. include "stdafx.h"
  2. 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);
           }
       }

}

 </source>


Is empty element

<source lang="csharp">

  1. include "stdafx.h"
  2. 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);
           }
       }

}

 </source>