Potrzebuję, żeby ktoś mi to wyłożył jak idiocie, bo moje doświadczenie z programowaniem skończyło się na etapie "hello world", a cały dzień dzisiaj czytałem różne przemądre wywody na ten temat i w efekcie rozumiem mniej, niż rozumiałem na początku.
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!
"...Perdido en el corazon de la grande Babylon. Me dicen el Clandestino por no llevar papel..."