marcio
28.02.2009, 16:08:05
Witam i mam pytanie takie troche dziwne jako ze nigdy nie uzywalem plikow XML a chcialem poszerzyc moja wiedze na temat Webmasteringu chcialbym was sie zapytac do czego uzywacie wlasnie pliki XML.
Z tego co rozumiem maja one za zadanie reprezentowac jakies dane troszeczke jak pliki z powerpointa?
Np mam pliki *.ini do konfiguracji modulow i zastanawiam sie czy nie zastapic ich plikami XML.
dr_bonzo
28.02.2009, 16:11:34
Cytat
Np mam pliki *.ini do konfiguracji modulow i zastanawiam sie czy nie zastapic ich plikami XML.
A po co chcesz zmieniac format? dotychczasowy ci ine wystarcza? masz za duzo czasu?
Wlasnie mam ten sam problem, i ini za chwile mi przestanie wystarczac - jak dodam nowy feature, to bede musial przejsc na XML - na razie nie ma potrzeby.
marcio
28.02.2009, 16:43:44
No bo w sumie dane w plikach *.ini reprezentuje jakby w pliku *.txt czyli:
Cytat
module_type:sys;
module_name:m_admin;
name:Panel administracyjny;
header:Administracja;
file_name:m_admin;
file_name_function:f_m_admin;
description:Modul umozliwiajacy modyfikacje strony;
sql_table:empty;
version:0.1b;
date:11/10/2008;
logo:m_o_admin_head.gif;
Wydaje mi sie to malo profesjonalne.
A do czego mozna jeszcze uzyc xml??
AxZx
28.02.2009, 17:30:23
XML jest już trochę starawy. niebawem JSON stanie się popularny:)
dlatego może nad nim się zastanowisz?
głównie do przechowywania konfiguracji zapisywanych w plikach no i oczywiście przesyłanie danych ajaxem.
zobacz na flickr.com, last.fm, vimeo.com i wszystkie takie większe serwisy, które udostępniają jakieś API.
Speedy
28.02.2009, 17:55:18
XML może być wykorzystywany do prezentacji zawartości bazy danych dla użytku serwisów zewnętrznych (np. wspomniane API). Poza tym, kanały RSS są generowane w XML. Ogólnie, jest to jeden z wielu sposobów na prezentację i przechowywanie danych (choć nie powinno się tego używać do przechowywania dużej ilości danych, bo będzie to niewydajne).
dr_bonzo
28.02.2009, 17:59:12
@AxZx: to zes palnął teraz.
XML przestarzaly - mowimy o konfiguracji aplikacji, ktora nie jest wysylana ajaxem do przegladarek
@marcio: jak masz duzo ustawien to mozesz XML uzyc dla czytelnosci - jednak jak tylko tyle co tu pokazales (malo) to zostaw ini (http://en.wikipedia.org/wiki/You_Ain't_Gonna_Need_It )
W moim konfigu podaje ustawienia ktore modul wpisuje do rejestru przy instalacji
Kod
name=value
No ale chyba bede musial dodac parametry do tych ustawien, czego nie da sie w ini wykonac ( [ sekcje ] juz wykorzystuje do czego innego).
marcio
28.02.2009, 18:12:21
Cytat
XML może być wykorzystywany do prezentacji zawartości bazy danych dla użytku serwisów zewnętrznych (np. wspomniane API)
Hmm mozesz rozwinac twoja odpowiedz bo zabardzo nie rozumiem?
Hmm z tym JSON to wlasnie tak jak mowi @dr_bonzo to raczej sie przydaje przy uzyciu Ajax'a niby jest to szybsze ale skladnia jakas taka nijaka,a w XML z tego co widze to mozna robic jakie sie chce znaczniki

NO ale jednak ten XML jest taki bardziej "profesjonalny" lecz mysle ze bedzie to wolniej dzialalo bo wkoncu trzeba by bylo uzyc regexp zeby wyciagnac dane
mike
28.02.2009, 18:16:37
Cytat(marcio @ 28.02.2009, 18:12:21 )

NO ale jednak ten XML jest taki bardziej "profesjonalny" lecz mysle ze bedzie to wolniej dzialalo bo wkoncu trzeba by bylo uzyc regexp zeby wyciagnac dane

Nie ma bardziej czy mniej profesjonalnych narzędzi. Są narzędzia bardziej czy mniej profesjonalnie dobrane.
Wybierasz takie narzędzie, które w najlepszy sposób spełni Twoje potrzeby i oczekiwania.
Tak. XML jest wolniejszy ponieważ jego parsowanie (nie regexp'y, tylko gotowe parsery) jest wolniejsze.
marcio
28.02.2009, 18:27:12
Nom ale ogolem jest napewno bardziej profesjonalne niz reprezentacja konfiguracji modulu w postaci txt a pliku *.ini przynajmniej tak mi sie zdaje.
A sorki jesli ktos nie chce uzywac gotowych parserow takich jak SimpleXML czy jakos tak to przeciez proste dokumenty XML moze za pomoca Regexp parsowac czyz nie?
AxZx
28.02.2009, 18:38:05
Cytat(dr_bonzo @ 28.02.2009, 17:59:12 )

@AxZx: to zes palnął teraz.
XML przestarzaly - mowimy o konfiguracji aplikacji, ktora nie jest wysylana ajaxem do przegladarek
napisałem, że jest starawy - chyba nie zaprzeczysz? (9 lat)
konfiguracja też może być zapisana w JSON.
erix
28.02.2009, 22:29:24
Cytat
XML przestarzaly - mowimy o konfiguracji aplikacji, ktora nie jest wysylana ajaxem do przegladarek
Tu ma trochę racji, jeśli chodzi o składnię, to jest przecież prostszy, a nie wymaga na ogół wynajdywania osobnych parserów typu YAML. I panuje tendencja ku JSON-owi.
A czemu prostszy? Nie trzeba sobie zawracać gitary prologami, zamykaniem tagów, itp, wystarczy tylko pamiętać zasadę klamerek i klucz: wartość, a oddzielanie wartości jest dużo bardziej intuicyjne.
Speedy
1.03.2009, 03:02:58
Jeśli chodzi o JSON, to zetknąłem się z nim przede wszystkim przy okazji tworzenia aplikacji AJAX-owych. XML może być stosowany do konfiguracji, ale chyba nie ma sensu bawić się takie zbędne bajery (obojętnie czy to XML, czy inny format), skoro można trzymać konfigurację w zwykłych zmiennych, czy tablicach w php. Nic dodatkowo nie parsujemy, a dane konfiguracyjne i tak zapisuje się tylko raz i od święta zmienia. Po co więc dodatkowy zachód?
Ale sęk w tym, że nie każdy zna PHP, a jeśli chodzi o jego składnię, to dużo łatwiej popełnić w nim błąd coś modyfikując. Zwróć uwagę, że w przypadku JSON np. cudzysłowy stosowane są zazwyczaj wtedy, jeśli to konieczne (np. spacja w ciągu).
Cytat
XML może być stosowany do konfiguracji, ale chyba nie ma sensu bawić się takie zbędne bajery (obojętnie czy to XML, czy inny format)
Jeśli dobrze myślę, to JSON jest szybciej parsowany ze względu na prostszą strukturę i brak konieczności sprawdzania np. domknięć tagów, prologów, itp.
marcio
1.03.2009, 13:51:30
To mowicie zeby zostawic tak jak jest i w ogole nie patrzec w przyszlosci ani na XML ani na JSON??
Speedy
1.03.2009, 14:44:48
Im więcej potrafisz, tym lepiej dla Ciebie

. Jak już ktoś wspomniał, powinieneś wiedzieć, w jakiej sytuacji najodpowiedniejszym rozwiązaniem będzie zastosowanie XML i JSON.
athabus
1.03.2009, 15:02:11
Jak dla mnie konfiguracja w ini jest ok i chyba wygodniejsza do utrzymania - ja lubię także yaml - trzeba się do niego przekonać, ale jest wygodny w użyciu. Ogólnie jak dla mnie w większości przypadków konfiguracja w xml jest zbędna i trochę zbyt "rozdmuchana".
Oczywiście xml jest bardzo przydatny w innych przypadkach. Przede wszystkim wspomniane wszelkiego rodzaju API, gdzie zachodzi potrzeba wymiany między dwoma odrębnymi systemami - np. poruszana niedawno kwestia porównywarek cen czy np. udostępnianie treści swojego serwisu innym serwisom. Także xml warto opanować i na pewno będzie ta wiedza procentować.
marcio
1.03.2009, 16:00:56
Cytat
Oczywiście xml jest bardzo przydatny w innych przypadkach. Przede wszystkim wspomniane wszelkiego rodzaju API, gdzie zachodzi potrzeba wymiany między dwoma odrębnymi systemami - np. poruszana niedawno kwestia porównywarek cen czy np. udostępnianie treści swojego serwisu innym serwisom. Także xml warto opanować i na pewno będzie ta wiedza procentować.
HMm nom wlasnie czytajac takie pojecie jak wymiana danymi pomiedzy innymi systemami nie wiem zabardzo o co wam chodzi lub przy rodzajach roznego API, hmm moze mozecie pokazac mi jakies przyklady w sensie kodow zrodlowych?
Cytat
hmm moze mozecie pokazac mi jakies przyklady w sensie kodow zrodlowych?
No np. XML-RPC (Wordpress, inne CMS-y), co jeszcze - z JSON-owego, to np. BlipAPI.
athabus
1.03.2009, 16:35:19
Przykładowo masz aplikację ogłoszeniową, istnieje prawdopodobieństwo że inne serwisy będą chciały publikować Twoje ogłoszenia. Piszesz API, które pozwala udostępniać te ogłoszenia. Czyli np. zaprzyjaźniony serwis wysyła żądanie a ty odsyłasz mu plik xml z ogłoszeniami.
Idealne zastosowanie dla xml'a bo ta technologia służy właśnie między innymi przesyłaniu danych pomiędzy różnymi systemami.
Inny przykład to porównywarki cen. Sklepy dostarczają co x czasu aktualny spis swoich towarów w pliku xml a porównywarka to wszystko agreguje. Znowu chodzi o to aby każdy sklep mógł uczestniczyć w tego typu operacjach więc potrzeba uniwersalnego sposobu przesyłania danych.
marcio
1.03.2009, 17:06:34
Cytat
Przykładowo masz aplikację ogłoszeniową, istnieje prawdopodobieństwo że inne serwisy będą chciały publikować Twoje ogłoszenia
Ah juz chyba wiem o co chodzi cos jak pobieranie News'ow ze strony:
http://hacking.pl/ i umieszczanie ich na wlasnej stronie, pytam bo moj kolega zrobil cos takiego tylko nie wiem czy opiera sie to wlasnie o pliki XML musze sie zapytac.
Cytat
Czyli np. zaprzyjaźniony serwis wysyła żądanie a ty odsyłasz mu plik xml z ogłoszeniami
No ale to w jaki sposob moj servis ma wiedziec ze ktos rzada odemnie zadanie zeby pobrac News'y np?
Myslalem ze takie rzeczy to raczej wyciaga sie ze stron za pomoca RegeXp
Cytat(marcio @ 1.03.2009, 17:06:34 )

No ale to w jaki sposob moj servis ma wiedziec ze ktos rzada odemnie zadanie zeby pobrac News'y np?
A skąd wiesz, że ktoś chce od Ciebie stronę? Wysyła żądanie, prawda.
Ktoś odpala Twoją stronę żądaniem
http://twoja.strona?giveMeNewses a Ty mu serwujesz XML'a.
marcio
1.03.2009, 17:13:33
Ah czyli zadanie dziala na zasadzie otwarcia danego URL'a w przegladarce??
No i jak potem taka strona oddaje takiemu zadaniu plik XML z News'ami?
Sorki ze mam takie pytania ale ciekawi mnie dzialanie takic rzeczy.
athabus
1.03.2009, 17:17:56
Tu masz np. omówienie zrobienia prostego API dostępowego przy użyciu symfony
http://www.symfony-project.org/jobeet/1_2/Propel/en/16. Może cię to jakoś nakieruje co prawda jest to omówienie jak zrobić w symfony, ale idea jest uniwersalna.
marcio
1.03.2009, 17:35:15
Dzieki jak bede mial troche czasu to poczytam wielkie dzieki

ogolnie nastepnym razem pomysle o uzyciu XML
kwiateusz
1.03.2009, 18:07:17
acz projektując api czesto dodaje sie kilka mozliwosci

np gg api ma xml, json, serializowany php ku uciesze przyszłego dewelopera
dr_bonzo
1.03.2009, 18:47:33
Cytat
Myslalem ze takie rzeczy to raczej wyciaga sie ze stron za pomoca RegeXp
Czemu uzywasz regexpow? Bo stronka nie udostepnia (z roznych powodow) API z ktorego bys mog wygodnie skorzystac, bez meczenia sie z regexpami, zmiennym layoutem itp.
Wyobraz sobie ze zamiast pisania 10 regexpow dostajesz metode getNews() i w tablicy dostajesz newsy i ich parametry (tresc, tytul itp).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.