Mam windowsową aplikację (końcówkę kliencką większego systemu), która służy do zarządzania ogłoszeniami oraz stronę internetową, która wyświetla ogłoszenia i pobiera dane tych ogłoszeń z bazy mysql. Aplikacja automatycznie generuje mi zipa, w którym mam XMLa (podobno, cytuję, "w formacie oferty.net" - cokolwiek miałoby to znaczyć) zawierającego róznicowy eksport ogłoszeń oraz zdjęcia, a następnie wrzuca tego zipa przez FTP na serwer.
Przykład mojego XML'a (klamra oferta powtarza się wielokrotnie):
<?xml version="1.0" encoding="UTF-8"?> <plik> <header> <informacje>Eksport automatyczny</informacje> <agencja>Agencja 1</agencja> <data>2013-11-06 14:36:39</data> <wersja>0.4</wersja> <cel>oferty.net</cel> <zawartosc_pliku>roznica</zawartosc_pliku> </header> <lista_ofert> <dzial typ="sprzedaz" tab="mieszkania"> <oferta> <id>735</id> <cena waluta="PLN">540000.00</cena> <param nazwa="balkon" typ="bool">true</param> <param nazwa="powierzchnia_balkonu" typ="bool">11.0</param> <param nazwa="garaz" typ="bool">true</param> <param nazwa="internet" typ="bool"/> <param nazwa="lazienka_wc" typ="text">razem z WC</param> <param nazwa="powierzchnia_lazienki" typ="text">4.4</param> <param nazwa="liczbapieter" typ="int">3</param> <param nazwa="liczbapokoi" typ="int">3</param> <param nazwa="liczbalazienek" typ="int">1</param> <param nazwa="ma_domofon" typ="bool">true</param> <param nazwa="ogrzewanie" typ="text">miejskie</param> <param nazwa="ma_ogrzewanie" typ="bool">true</param> <param nazwa="materialbudowy" typ="text">cegła</param> <param nazwa="pietro" typ="int">2</param> <param nazwa="rokbudowy" typ="int">2009</param> <param nazwa="typbudynkumieszk" typ="text">blok</param> <param nazwa="typkuchni" typ="text">widna</param> <param nazwa="ulica" typ="text">Chrościckiego</param> <param nazwa="winda" typ="bool"/> <param nazwa="typ_podlogi" typ="bool">klepka</param> <param nazwa="czy_cena_do_negocjacji" typ="bool">true</param> <param nazwa="powierzchnia" typ="real">70.0</param> <param nazwa="agent_email" typ="text">krysiazdzisia@strona.pl</param> <param nazwa="agent_gg" typ="text"/> <param nazwa="agent_nazwisko" typ="text">Krysia Zdzisia</param> <param nazwa="agent_skype" typ="text"/> <param nazwa="agent_tel_biuro" typ="text"/> <param nazwa="agent_tel_kom" typ="text"/> <param nazwa="kraj" typ="text">Polska</param> <param nazwa="wojewodztwo" typ="text">Mazowieckie</param> <param nazwa="miasto" typ="text">Warszawa</param> <param nazwa="dzielnica" typ="text"/> <param nazwa="okolica" typ="text"/> <location> <area type="root" level="1">Polska</area> <area type="province" level="2">Mazowieckie</area> <area type="city" level="5">Warszawa</area> </location> <param nazwa="przetarg" typ="bool"/> <param nazwa="termin_przetargu" typ="text"/> <param nazwa="vadium" typ="text"/> <param nazwa="dataaktualizacji" typ="text">2013-11-06 11:07:40</param> <param nazwa="bezprowizji" typ="bool">true</param> <param nazwa="forma_wlasnosci" typ="text">własność</param> <param nazwa="sprzedane" typ="bool">false</param> <param nazwa="datawprowadzenia" typ="text">2013-11-06 11:08:33</param> <param nazwa="opis" typ="text"/> </oferta> <dzial typ="wynajem" tab="dzialki"> <oferta_usun> <id>303</id> </oferta_usun> <oferta_usun> <id>272</id> </oferta_usun> <oferta_usun> <id>274</id> </oferta_usun>
Napisałem już prosty skrypt (docelowo ma być odpalany harmonogramem), który tworzy nowy katalog, wypakowuje do niego zawartość zipa i usuwa zbędną paczkę.
Teraz muszę jakoś wczytać XML'a i brać z niego porcje danych. Każdą klamrę <oferta> muszę pobrać, przetworzyć i zapisać do bazy. Z każdej klamry <oferta_usun> muszę wyciągnąć id, żeby usunąć rekord z tym id z bazy.
Próbowałem wczytać sobie XMLa poleceniem simplexml_load_file, ale niewiele z tego wyszło, bo nie mam pomysłu, co dalej...
Z góry dzięki za każdą pomoc!