Witam wszystkich,

Potrzebuję zaimportować sobie z plików XML Głównego Urzędu Statystycznego miejscowości przypisując je do odpowiednich powiatów (gmin nie potrzebujemy), a powiaty do województw. Poradziłem sobie z przypisaniem powiatów do województw, ale nie wiem jak skojarzyć miejscowości z odpowiednim powiatem. Czy ktoś już próbował to zrobić?

Zauważyłem, że mają w plikach jakoś dziwnie przypisane numery, np. w pliku TERC.xml można znaleźć takie wpisy:

  1. <row>
  2. <col name="WOJ">02</col>
  3. <col name="POW">01</col>
  4. <col name="GMI"/>
  5. <col name="RODZ"/>
  6. <col name="NAZWA">bolesławiecki</col>
  7. <col name="NAZDOD">powiat</col>
  8. <col name="STAN_NA">2010-01-01</col>
  9. </row>
  10. -- trochę niżej:
  11. <row>
  12. <col name="WOJ">04</col>
  13. <col name="POW">01</col>
  14. <col name="GMI"/>
  15. <col name="RODZ"/>
  16. <col name="NAZWA">aleksandrowski</col>
  17. <col name="NAZDOD">powiat</col>
  18. <col name="STAN_NA">2010-01-01</col>
  19. </row>


Wygląda to jakby dwa powiaty miały ten sam numer Id. A może to nie jest Id? Wszystko wygląda tak, jakby z tych danych tworzyli drzewo.

Próbowałem zaimportować wszystkie miejscowości (z pliku SIMC.xml) stosując taki myk:

Tabelka powiatów:
  1. `id` `woj_id` `order` `name` `foreign_woj_id` `foreign_powiat_id`

dwie ostatnie kolumny to wartości z XML.
Importując miejscowości porównywałem z tymi wartościami.
Efekt - wrzucone ponad 100 tyś. miejscowości, część pominięta ze względu na nie odnalezienie rekordu w tabeli, a większość zaimportowanych miejscowości jest źle przypisana do powiatów.

Co robię źle?

EDIT:
Już wiem. Wystarczyło podczas kojarzenia miejscowości z powiatem brać pod uwagę nie tylko Id powiatu, ale również Id województwa.