Mega Code Archive

 
Categories / Visual C++ .NET / XML
 

Read XPath

#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);     } }