No tak, ale zapisywanie, a odczytywanie to dwie różne rzeczy : / Poza tym, metody z klas się nie pokrywają, więc...
coś kombinuje, jak mi się uda to dam znać, a do tego czasu temat aktualny.
---
Na razie wykombinowałem sobie coś takiego
array<String^> ^ XML_Get_Elements(String^ node)
{
XmlReader ^ reader = XmlReader::Create("c://settings.xml");
System::Collections::Queue ^ s = gcnew Queue();
if (reader->ReadToFollowing(node) == true)
{
Xml::XmlReader ^ x = reader->ReadSubtree();
while ((x->NodeType == XmlNodeType::Element) && (!x->Name->Equals(node)))
{
x->Read();
s->Enqueue(reader->ReadString());
}
array<String^> ^ temp = gcnew array<String^>(s->Count);
for each(String ^%st in temp)
{
st = (String^)s->Dequeue();
}
return temp;
}
else
{
return nullptr;
}
}
Ale to nie działa poprawnie :/
----
Zrobiłem

Gdyby ktoś był zainteresowany to poprawiony kod wygląda tak:
array<String^> ^ XML_Get_Elements(String^ node)
{
XmlReader ^ reader = XmlReader::Create("c://settings.xml"); // tylko tymczasowo
System::Collections::Queue ^ s = gcnew Queue();
if (reader->ReadToFollowing(node) == true)
{
Xml::XmlReader ^ x = reader->ReadSubtree();
while (x->Name != node)
{
x->Read();
if (reader->NodeType == XmlNodeType::Text)
{
s->Enqueue(reader->ReadString());
}
else
{
reader->ReadString();
}
}
array<String^> ^ temp = gcnew array<String^>(s->Count);
for each(String ^%st in temp)
{
st = (String^)s->Dequeue();
}
return temp;
}
else
{
return nullptr;
}
}