Import z XML-a - pomocy

0

Cześć,

Od kilku dni walczę z importem danych z XML-a. Przeczytałem prawie wszystko co wpadło mi w ręce ale za diabli nie mogę sobie poradzić. Opisy które znalazłem np. ten http://4programmers.net/Delphi/Artyku%C5%82y/XML_w_Delphi zaczyna się pięknie i gdy dochodzi do opisu importu potomków urywa się a o to właśnie mi chodzi najbardziej.
Oto mój problem. Mam taki oto plik:

<?xml version="1.0" encoding="utf-8"?>
<glowna>
  <pozycje>
    <pozycja pesel="11111111111" wysokosc="172" waga="84" />
    <pozycja pesel="22222222222" wysokosc="164" kolnierzyk="41" waga="67" />
    <pozycja pesel="22222222222" wysokosc="178" waga="82" />
    .
    .
    .
    </pozycje>
  </glowna>

Czyli wydaje się że struktura bardzo prosta, jednak za diabli nie wiem jak to odczytać (najlepiej linia po linii i wpisać dane do zmiennych). Próbowałem potraktować to jako zwykły plik tekstowy ale to syzyfowa praca. Proszę o wskazówkę jak to się czyta.

Pozdrawiam

Robert

0

Czesc,

robertz68 napisał(a)

Cześć,

Od kilku dni walczę z importem danych z XML-a. Przeczytałem prawie wszystko co wpadło mi w ręce ale za diabli nie mogę sobie poradzić. Opisy które znalazłem np. ten http://4programmers.net/Delphi/Artyku%C5%82y/XML_w_Delphi zaczyna się pięknie i gdy dochodzi do opisu importu potomków urywa się a o to właśnie mi chodzi najbardziej.

Nie urwa sie tylko Ty widac urwales czytanie ;-) Skorzystaj z XML Data Binding :)

0

Ja bym Ci poradził XML Parser ze stronki destructor.de - używam go do obsługi nawet dość skomplikowanych plików xml. Z kodem są przykłady ;)

0

Sprawa bardzo prosta :)

najpierw zadeklaruj sobie zmienna węzła (tak będzie prościej)

var Node: IXMLNode;

potem odczytujemy wszyystkie węzły jakie mamy pod zmienną pozycje

for i:=0 to XML.DocumentElement.ChildNodes['pozycje'].ChildNodes.Count - 1 do
  begin
  Node := XML.DocumentElement.ChildNodes['pozycje'].ChildNodes[i];

  zmiennaPesel := Node.GetAttribute['pesel'];
  zmiennaWysokosc: Node.GetAttribute['wysokosc'];
  end;

Sorki jeżeli gdzieś wkradł się błąd ale pisałem z pamięci

1 użytkowników online, w tym zalogowanych: 0, gości: 1