XML - parsowanie danych.

0

Witam,

czy ktoś zetknął się z tematem parsowania danych z pliku XML?

Do pliku XML zapisywane są cyklicznie dane co minutę, odczyt również cykliczny.

Pytanie w jaki sposób odczytać tylko nowe dane z pliku XML, czyli tylko te które zostały zapisane do pliku po ostatnim odczycie?

0

A do XML jest zapisywany ostatni czas zaspisu ?

0

Witam,

tego na razie nie wiem.
Rzeczywiście można by 'zapamiętać' czas z ostatniego zaczytanego tagu i zacząć od tego miejsca.

0

Możesz tez zliczyć ilośc danych elementów w xml-ce i zapamietać, jeżeli tagi XMLowe mają tą samą nazwe.
Różnica by oznaczała, ilośc nowych tagów, oraz wiesz od którego zacząć ;)

0

Jak używasz Javy 7 to warto przyjrzeć się narzędziom z NIO.2 by stworzyć coś w rodzaju własnego tail -f. Wtedy będziesz dostawał dokładnie to co trzeba.

0

NIe wiem czy w Camelu takiego czegoś nie będzie

0

Najprostszy chalupniczy sposob, ktory bazuje na zalozeniach:

  1. do pliku jest tylko robiony append, nigdy nie kasowane sa juz odczytane elementy
  2. plik nie zmienia struktury, tzn. nie zmienia sie formatowanie itp

Wtedy, zapamietujesz pozycje w pliku, poczatkowo jest ona 0. Po wczytaniu pliku zapamietujesz jego wielkosc, i przy nastepnym odczycie skaczesz to offsetu rownego poprzedniej wielkosci pliku - wszystko co znajduje sie poza tym jest 'nowe'.

0

Ogolnie masz racje, ale juz nie takie rzeczy widzialem ;d Ogolnie dosc dziwny pomysl z tym appendowaniem, po tygodniu plik bedzie wazyl 1gb i kto to wczyta ;d chyba ze jakiegos streamingu sie uzyje.

0

Ogólnie macie rację, rozwiązanie z appendowaniem jest mało praktyczne.

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