Move XPathNavigator to first child : XPathNavigator « XML « Visual C++ .NET

Home
Visual C++ .NET
1.2D
2.Class
3.Collections
4.Data Type
5.Database ADO.net
6.Delegate
7.Development
8.File Directory
9.Function
10.Generics
11.GUI Form
12.Language Basics
13.Network
14.Reflection
15.Security
16.Statement
17.Structure
18.Thread
19.XML
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Visual C++ .NET » XML » XPathNavigator 
Move XPathNavigator to first child
 

#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
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.