czytanie i generowanie pliku xml

Problemy dotyczące programowania.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
coolart
Użytkownik
Posty: 250
Rejestracja: 2004-06-20, 03:08
Kontakt:

czytanie i generowanie pliku xml

Post autor: coolart »

chce zrobić skrypt który stworzy plik xml by moc odtworzyć go w jw.
sa jest jeden główny katalog muzyka i od tego sie zaczynać będzie, a w nim kolejne katalogi i w kazdym katalogu po kolo 2000 plikow mp3.
skrypt ma wykonać odczyt wszystkich plików i zapis do formatu xml ktory wyglądać ma tak

Kod: Zaznacz cały

<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
  <trackList>
    <track>
      <title>Flo-Rida - Elevator feat. Timbaland</title>
      <location>hits-fm/Flo-Rida%20-%20Elevator%20feat.%20Timbaland.mp3</location>
    </track>
   ....
   ....
</trackList>
</playlist>
problem w tym ze nie wiem za co sie wziąć czy zrobić to w bashu czy perl czy może php?
z jednej strony wynika ze php było by najlepsze lecz skrypt ma wykona odczyt wszystkich katalogów i ich zawartości minimum raz na dzień generowanie świeżej listy.

co by było leprze ?

myślałem by pójść linia prosta i zrobić odczyt links -g http://localhost/muzyka/ przetworzyć html na xml i by było z głowy. Lecz chciałbym tego uniknąć.
miszmaniac
Moderator
Posty: 1510
Rejestracja: 2006-03-19, 12:00
Lokalizacja: Gdynia
Kontakt:

Re: czytanie i generowanie pliku xml

Post autor: miszmaniac »

Jeśli chciałbys to zrobić w PHP, to sprawa nie jest skomplikowana.

Robisz skrypt według schematu:

Kod: Zaznacz cały

<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/"> 
  <trackList> 
<?php
$katalogi = glob('sciezka/glownego/katalogu/', GLOB_ONLYDIR);
foreach ($katalogi as $katalog) {
     $pliki = glob($katalog);
     foreach ($pliki as $plik) {
         echo "<track>";
         echo "... to so sobie tam chcesz od pliku";
echo "</track>";
     }
}
Musisz rozbudowac to troche i bedzie ok.
Pamiętaj,
Jeśli Twój problem został rozwiązany dopisz [b] [Rozw.] [/b]w tytule.
Projektowanie stron WWW: [url=http://www.miszewski.net.pl]www.miszewski.net.pl[/url]
Awatar użytkownika
coolart
Użytkownik
Posty: 250
Rejestracja: 2004-06-20, 03:08
Kontakt:

Re: czytanie i generowanie pliku xml

Post autor: coolart »

dzieki miszmaniac, przyda sie i postaram sie dojsc tez w ten sposob, jednak chyba będę skłaniał sie do wykonania tego w bash'u ostatecznie w perlu, links nie bardzo chce działać z opcja -g dlatego chyba prościej będzie curl'em przejechać tyle ze akurat dostęp do tych katalogów przez http mam z użytkownikiem i hasłem przez lighttpd wiec jakoś będę musiał znaleźć obejście lokalnie tego problemu.
lampek
Użytkownik
Posty: 8
Rejestracja: 2009-01-03, 17:12

Re: czytanie i generowanie pliku xml

Post autor: lampek »

Radzę wybrać język który bardziej nadaje się do tego problemy. Bash nie jest do tego przeznaczony.
Awatar użytkownika
coolart
Użytkownik
Posty: 250
Rejestracja: 2004-06-20, 03:08
Kontakt:

Re: czytanie i generowanie pliku xml

Post autor: coolart »

hymm no tez tak myślałem ale jednak skleiłem cos i jakoś to wychodzi. od razu mowie ze wygląda to okropnie :(, ale liczy się chęć bynajmniej miałem podstawę nauczenia się bash'a

Kod: Zaznacz cały

# dopisanie poczatku
echo -e "<?xml version="1.0" encoding="UTF-8"?>\n<playlist version="1" xmlns="http://xspf.org/ns/0/">\n<trackList>\n" > lista.xml
# generowanie listy plikow do foramtu xml
curl "http://localhost/radio/FUN_1/" |sed -e '1,27d' -e 's|<tr.*f="|<track>\n<location>|g' -e 's|">|</location>\n<title>|g' -e 's|</a.*r>|<title>\n</track>|g' >> lista.xml
# dopisanie konca 
echo -e "</trackList>\n</playlist>" >> lista.xml
nie potrafię znałeś usunięcia znanej liczby lini od końca.
To tylko generowanie listy jeszcze nie ma dojścia do katalogów ale jak ma reszta dojść to chyba będzie to wyglądało jak bomba jądrowa niż bombka choinkowa.
chyba zacznę perla ale jeszcze sprawdzę php i to co podał miszmaniac
ODPOWIEDZ