witam
od dobrych paru miesiecy walcze z oferta proof'a. Niestety nie jest to plik xml i chyba nigdy nie bedzie. Mailowalem do nich w tej sprawie, ale jakos komus zalezy na tym zeby ten plik byl praktycznie nieparsowalny   
http://www.profesjonal.com.pl/oferta/download.zip  . Nieparsowalny chociazby z tego powodu, iz na kazda czesc danych została przydzielona stała liczba znakow w pliku:
 [CODE] IDProf	Kto	1	0	2	10	02	fa+2	Data_rozna_od_w_tej_w_naglowku
5	19	5	5	5	5	5	5	8
 [/CODE]np w przypadku nazw druzyn jest to 19 znaków. Tym samym w zaleznosci od tego z jak "dluga" druzyna Gosp gra jak "dluga" druzyna gosci,  mamy :
Olom"B" 2.Czechy-1.k.   innym razem
Olomouc"B" 2.Czechy-3.k. jeszcze innym razem
Olomouc  1.Czechy-2.k. 
gdyby skroty robili tylko po prawej stronie, to bym sobie poradzil, niestety czasami to jest "sponton" wiec mamy tez i takie kwiatki:
Mun.1860
Mon.1860
A.Villa
Aston V. Aston V. 1.Anglia-1.k. 
Aston Villa Aston Villa Spotkanie  towarz. 
AstonVilla AstonVilla 1.Anglia-2.k. 
Brema
Bremen
itd. etc   
 
  albo wyrazenia regularne albo pisanie tablicy "przypadkow" w takim stylu:
rekord[1] = rekord[1].equals("Mun1860") ? new String("Munch1860") : rekord[1];
wada drugiego rozwiazania, ze trzeba bedzie sie opisac i osprawdzac jak dziki wol, a i zawsze swiadomosc tego, iz moze sie pojawic skrot proof'a, ktorego jeszcze nie mamy w programie..
oba rozwiazania "pot i łzy", ale twardy jestem (Set Fisher moze poswiadczyc  

  ) wiec sprobuje to rozgrysc 
spoko incjatywa   

iwo:  ja sie pisze