Create Navigator from XMLDocument : XmlDocument « XML « Visual C++ .NET





Create Navigator from XMLDocument

 

#include "stdafx.h"

using namespace System;
using namespace System::Xml;
using namespace System::Xml::XPath;

void Navigate(XPathNavigator ^nav, int depth)
{
    Console::WriteLine(depth);
    Console::WriteLine(nav->NodeType.ToString());
    Console::WriteLine(nav->Name);
    Console::WriteLine(nav->Value);

    if (nav->HasAttributes)
    {
        nav->MoveToFirstAttribute();
        do {
            Console::WriteLine(nav->Name);
            Console::WriteLine(nav->Value);
        }
        while(nav->MoveToNextAttribute());
        nav->MoveToParent();
    }


    if (nav->MoveToFirstChild())
    {
        Navigate(nav, depth+1);
        nav->MoveToParent();
    }
    if (nav->MoveToNext())
        Navigate(nav, depth);
}

void main()
{
    XmlDocument ^doc = gcnew XmlDocument();
    try
    {
        doc->Load("..\\Monsters.xml");
        XPathNavigator ^nav = doc->CreateNavigator();
        nav->MoveToRoot();
        Navigate(nav, 0);
    }
    catch (Exception ^e)
    {
        Console::WriteLine("Error Occurred: {0}", e->Message);
    }
} 

   
  










Related examples in the same category

1.Output xml tags
2.Load xml document to XMLDocument
3.Get first child from XMLDocument
4.Move to the root of XMLDocument