Visual C++ .NET/XML/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);
}
}
Get first child from XMLDocument
#include "stdafx.h"
using namespace System;
using namespace System::Xml;
void Navigate(XmlNode ^node, int depth)
{
if (node == nullptr)
return;
Console::WriteLine(depth);
Console::WriteLine(node->NodeType.ToString());
Console::WriteLine(node->Name);
Console::WriteLine(node->Value);
if (node->Attributes != nullptr)
{
for (int i = 0; i < node->Attributes->Count; i++)
{
Console::WriteLine(depth+1);
Console::WriteLine(node->Attributes[i]->Name);
Console::WriteLine(node->Attributes[i]->Value);
}
}
Navigate(node->FirstChild, depth+1);
Navigate(node->NextSibling, depth);
}
void main()
{
XmlDocument ^doc = gcnew XmlDocument();
try
{
XmlReader ^reader = XmlReader::Create("..\\Monsters.xml");
doc->Load(reader);
reader->Close();
XmlNode ^node = doc->FirstChild;
Navigate(node, 0);
}
catch (Exception ^e)
{
Console::WriteLine("Error Occurred: {0}", e->Message);
}
}
Load xml document to XMLDocument
#include "stdafx.h"
using namespace System;
using namespace System::Xml;
void Navigate(XmlNode ^node, int depth)
{
if (node == nullptr)
return;
Console::WriteLine(depth);
Console::WriteLine(node->NodeType.ToString());
Console::WriteLine(node->Name);
Console::WriteLine(node->Value);
if (node->Attributes != nullptr)
{
for (int i = 0; i < node->Attributes->Count; i++)
{
Console::WriteLine(depth+1);
Console::WriteLine(node->Attributes[i]->Name);
Console::WriteLine(node->Attributes[i]->Value);
}
}
Navigate(node->FirstChild, depth+1);
Navigate(node->NextSibling, depth);
}
void main()
{
XmlDocument ^doc = gcnew XmlDocument();
try
{
XmlReader ^reader = XmlReader::Create("..\\Monsters.xml");
doc->Load(reader);
reader->Close();
XmlNode ^node = doc->FirstChild;
Navigate(node, 0);
}
catch (Exception ^e)
{
Console::WriteLine("Error Occurred: {0}", e->Message);
}
}
Move to the root of 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);
}
}
Output xml tags
#include "stdafx.h"
using namespace System;
using namespace System::Configuration;
using namespace System::Data;
using namespace System::Data::SqlClient;
using namespace System::Xml;
void Navigate(XmlNode ^node, int depth)
{
if (node == nullptr)
return;
Console::WriteLine(depth);
Console::WriteLine(node->NodeType.ToString());
Console::WriteLine(node->Name);
Console::WriteLine(node->Value);
if (node->Attributes != nullptr)
{
for (int i = 0; i < node->Attributes->Count; i++)
{
Console::WriteLine(node->Attributes[i]->Name);
Console::WriteLine(node->Attributes[i]->Value);
}
}
Navigate(node->FirstChild, depth+1);
Navigate(node->NextSibling, depth);
}
void main(){
XmlDocument ^doc = gcnew XmlDocument();
SqlConnection ^connect = gcnew SqlConnection();
connect->ConnectionString = "SQLConnection";
SqlDataAdapter ^dAdapt = gcnew SqlDataAdapter();
DataSet ^dSet = gcnew DataSet();
dAdapt->SelectCommand = gcnew SqlCommand("SELECT * FROM Authors", connect);
dAdapt->Fill(dSet, "Authors");
XmlDataDocument ^doc1 = gcnew XmlDataDocument(dSet);
Navigate(doc1->DocumentElement, 0);
}