Witam. Zmieniłem ten temat, bo z zapisem pliku już sobie poradziłem. Mam nadzieje, że taki format może być, próbowałem uzyć atrybutów,
ale i tak mam problem z ich odczytem. Mam błąd AcessVioletion, a więc poniższy kod tworzy plik xml i pytanie jak odczytać poszczegółne
dane to jest to co jest w sekcji "Version" oraz dane wszystkich userów w sekcjach "user" - prosiłbym o przykładowy kod. Z gory dziękuję.

var
  I : integer;
  XmlDoc : TXMLDocument;
  XMLNode : IXMLNode;
  XMLValues : IXMLNode;
  StartItemNode : IXMLNode;
begin
  xmlDoc := TXMLDocument.Create(nil);
    try
      XmlDoc.Active := True;
      StartItemNode := XMLDoc.AddChild('GG_DATABASE');
      XMLNode := StartItemNode.AddChild('Version');
      XMLValues := XMLNode.AddChild('num');
      XMLValues.Text := '1';
      XMLValues := XMLNode.AddChild('sub');
      XMLValues.Text := '25';
      for I := 1 to 3 do
        begin
        // Dane tylko przykładowe dla testów:
        XMLNode := XMLDoc.DocumentElement.AddChild('user');
        XMLValues := XMLNode.AddChild('Nick');
        XMLValues.Text := 'OSOBA ' + IntToStr(I);
        XMLValues := XMLNode.AddChild('GG');
        XMLValues.Text := IntToStr(Random(999999) + 1000);
        end;
      XmlDoc.SaveToFile('D:\test.xml');
    finally
      xmlDoc := nil;
   end;
end;

Oto mój plik XML. Jak go poprawnie wczytać. Ewentualnie czy moge użyć atrybutów dla usera
zamiast kolejnych wartośći i jeżeli tak, to jak je wczytać. Próbowałem zmienionego kodu d;a rss.
jak i oryginału z http://delphi.about.com/od/internetintrane..._rss_read_3.htm ale mam błąd Acess
Violation. Nawet na oryginalnym index.xml pobranym z tamej strony i oryginalnym kodzie z niej
Oczywiście obiekt XmlDoc tworze i aktywuje w identyczny sposób jak przy zapisywaniu pliku.

<GG_DATABASE>
  <Version>
	<num>1</num>
	<sub>25</sub>
  </Version>
  <user>
	<Nick>OSOBA 1</Nick>
	<GG>710134</GG>
  </user>
  <user>
	<Nick>OSOBA 2</Nick>
	<GG>347736</GG>
  </user>
  <user>
	<Nick>OSOBA 3</Nick>
	<GG>112922</GG>
  </user>
</GG_DATABASE>

EDIT: już sobie poradziłem. Dałem się nabrać, bo zapis odbywa się poprawnie, ale do odczytu trzeba w
parametrze konstruktora podać nazwę formatki ewentualnie Application. Odczyt mojego xmla jest tutaj:

var
  XmlDoc : TXMLDocument;
  StartItemNode : IXMLNode;
  ANode : IXMLNode;
  Nick_S, GG_S : string;
begin
  xmlDoc := TXMLDocument.Create(Form1);
  XMLDoc.FileName := 'D:\test.xml';
  XMLDoc.Active := True;
  StartItemNode := XMLDoc.DocumentElement.ChildNodes[1];
  ANode := StartItemNode;
  repeat
    Nick_S := ANode.ChildNodes['Nick'].Text;
    GG_S := ANode.ChildNodes['GG'].Text;
    ListBox1.Items.Add('Ksywka: ' + Nick_S + ' Numer GG: ' + GG_S);
    ANode := ANode.NextSibling;
  until ANode = nil;
end;