IHateLove Δημοσ. 7 Σεπτεμβρίου 2012 Δημοσ. 7 Σεπτεμβρίου 2012 παρατηρώ ότι σε μερικά πράγματα χρησιμοποιούμε αρκετά XML, όπως αποθήκευση δεδομένων-ρυθμίσεων, πληροφοριών...
Lucky Luke Δημοσ. 7 Σεπτεμβρίου 2012 Δημοσ. 7 Σεπτεμβρίου 2012 Χωρίς να έχω ψάξει ιδιαίτερα το γιατί, αυτό που μου έρχεται τώρα στο μυαλό είναι: 1. Επιτρέπει ιεραρχία. 2. Επειδή μοιάζει αρκετά με τη λογική της HTML, που είναι τεχνολογία που χρησιμοποιούμε στον web.
isay Δημοσ. 8 Σεπτεμβρίου 2012 Δημοσ. 8 Σεπτεμβρίου 2012 Ευχρηστος τρόπος αποθήκευσης (και κυρίως ανάκτησης) δεδομένων με κοινά χαρακτηριστικά και έμμεση κληρονομικότητα. Όταν το χρησιμοποιήσεις σε κάποιο project θα καταλάβεις τη χρησιμότητα του. πχ. autokinita.xml <marka> <montelo> <etos>
warlock9_0 Δημοσ. 8 Σεπτεμβρίου 2012 Δημοσ. 8 Σεπτεμβρίου 2012 επίσης είναι ένας πολύ εύκολος τρόπος για να επικοινωνείς με άλλες εφαρμογές
IHateLove Δημοσ. 8 Σεπτεμβρίου 2012 Μέλος Δημοσ. 8 Σεπτεμβρίου 2012 δεν έχω ασχοληθεί καθόλου με XML αλλά έχω δει DESKTOP εφαρμογές που χρησιμοποιούν XML για να αποθηκεύσουν ρυθμίσεις και το βρίσκω λίγο άκυρο, προσωπικά προτιμώ ένα *.ini αρχείο και οι ρυθμίσεις να αποθηκεύονται όπως παρακάτω... > [screen] Width = 1024 Height = 768 [Player] MaxLevel = 100 StartLevel = 1 isHero = false http://www.codeproje...20120/INI-Files αντί του παραπάνω βλέπω > <player> <stats> <maxlevel>100</maxlevel> </stats> </player> πιστεύω ότι όντως η XML είναι χρήσιμη αλλά αυτό που κάνουν μερικοί (δηλαδή παντού XML) είναι λάθος. ΥΓ: το parsing στην XML γίνεται από κάποια έτοιμη συνάρτηση ή πρέπει να φτιάξω εγώ κάποιον parser?
merianos Δημοσ. 8 Σεπτεμβρίου 2012 Δημοσ. 8 Σεπτεμβρίου 2012 Η XML όπως περιγράφει και το όνομα της (eXtnensible Markup Language) είναι μια γλώσσα σήμανσης που επιτρέπει την επέκταση της και τη δόμηση οποιασδήποτε δομής δεδομένων. Ο λόγος ύπαρξης της είναι η ευκολία που προσφέρει σε πολλούς προγραμματιστές να οργανώσουν δεδομένα πολύ εύκολα. Η XML ενώ αρχικά μοιάζει να μην έχει κάποια λογική χρήσης, όταν συνδυάζεται με προγραμματιστικά εργαλεία είναι πολύ καλή. Για παράδειγμα μπορείτε να χρησιμοποιήσετε τα XML για να μεταφέρετε σύνολα δεδομένων μέσω ενός δικτύου σε άλλους υπολογιστές και να πραγματοποιήσουν αυτοί κάποιες εργασίες με τα δεδομένα που έχετε στείλει. Αυτή τη στιγμή υπάρχουν επεκτάσεις (νομίζω σε όλες τις γλώσσες προγραμματισμού) που επιτρέπουν την ανάγνωση και εγγραφή XML αρχείων και μετατροπή τους στη γλώσσα προγραμματισμού σε μορφή δεδομένων που να εξυπηρετεί τον προγραμματιστή. Για παράδειγμα στην PHP υπάρχει η σχετική βιβλιοθήκη που μπορεί να διαβάσει ένα XML αρχείο που μοιάζει με αυτό: > <properties> <colors> <fontColor>#F0A</fontColor> <bgColor>#0FA</bgColor> </colors> <fontSizes> <header>18px</header> <links> <fontSize status="normal">13px</fontSize> <fontSize status="hover">14px</fontSize> <fontSize status="click">15px</fontSize> <fontSize status="visited">16px</fontSize> </links> </fontSizes> </properies> και στη συνέχεια να χρησιμοποιήσει ο προγραμματιστής τα δεδομένα κάπως έτσι: > $xml = simplexml_load_file("test.xml"); echo $xml->colors->fontColor; Θα πρέπει να σημειωθεί πως τα XML όταν χρησιμοποιούνται μέσα σε σελίδες, τότε μπορεί ένας developer να τα χρησιμοποιήσει και με τη βοήθεια της Javascript. Τέλος ένα χαρακτηριστικό παράδειγμα που αποδεικνύει την χρησιμότητα των XML είναι για παράδειγμα το Skroutz.gr που συλλέγει τα δεδομένα των εταιρειών από αρχεία XML, το deal-deal.gr που επίσης συγκεντρώνει τα Deal με XML και πάει λέγοντας.
kalogeros Δημοσ. 8 Σεπτεμβρίου 2012 Δημοσ. 8 Σεπτεμβρίου 2012 επίσης είναι ένας πολύ εύκολος τρόπος για να επικοινωνείς με άλλες εφαρμογές Αυτό κατά τη γνώμη μου είναι το πιο σημαντικό χαρακτηριστικό της XML. πιστεύω ότι όντως η XML είναι χρήσιμη αλλά αυτό που κάνουν μερικοί (δηλαδή παντού XML) είναι λάθος. Αυτό πού το στηρίζεις;
IHateLove Δημοσ. 8 Σεπτεμβρίου 2012 Μέλος Δημοσ. 8 Σεπτεμβρίου 2012 Αυτό πού το στηρίζεις; στον όγκο της πληροφορίας > [Player] MaxLevel = 100 > <player> <stats> <maxlevel>100</maxlevel> </stats> </player> οκ, καλό αυτό με την μεταφορά των δεδομένων αλλά εγώ μιλάω για ρυθμίσεις μιας εφαρμογής και όχι δεδομένα που χρησιμοποιεί πχ αυτό με το αυτοκίνητο παραπάνω, φυσικά εκεί έχεις XML φαντάζεσαι να είχες κάτι τέτοιο > [Toyota] Name = "Toyota V1" Wheels = 4 MaxSpeed = 220KM/H [Toyota] Name = "Toyota V2" Wheels = 4 MaxSpeed = 500KM/H [Audi] Name = "Audi v1" Wheels = 4 MaxSpeed = 220KM/H
merianos Δημοσ. 8 Σεπτεμβρίου 2012 Δημοσ. 8 Σεπτεμβρίου 2012 Θα έμοιαζε κάπως έτσι : > <cars> <car name="Toyota" model="Toyota V1" wheels="4" maxSpeed="220KM/H" /> <car name="Toyota" model="Toyota V2" wheels="4" maxSpeed="500KM/H" /> <car name="Audi" model="Audi v1" wheels="4" maxSpeed="220KM/H" /> </cars> Δεν απέχει και πολύ από αυτό που έδωσες. Επίσης αν μιλάμε για Desktop εφαρμογή μάλλον είσαι σε λάθος φόρουμ. 1
defacer Δημοσ. 11 Σεπτεμβρίου 2012 Δημοσ. 11 Σεπτεμβρίου 2012 XML χρησιμοποιεί ο κόσμος γιατί: είναι διεθνές στάνταρ, πολύ διαδεδομένο με έτοιμα implementations σε όλες τις γλώσσες προγραμματισμού μοιάζει πολύ με τη γνωστή σε όλους HTML (και εμφανισιακά και δομικά) οπότε είναι "γνώριμη" μπορεί να αναπαραστήσει οποιαδήποτε δεδομένα χρησιμοποιώντας μόνο το ascii character set μπορείς να υπαγορεύσεις κανόνες που πρέπει να ακολουθεί ένα XML αρχείο και να επαληθεύσεις ότι το κάνει είναι parser-friendly θεωρητικά είναι πλήρως human-readable (αν και αυτό ελέγχεται στην πράξη) Απο κει και πέρα όποιος λέει ότι η XML είναι "το σωστό" ή αντίστοιχα ότι είναι "λάθος"... καλύτερα θα ήταν να το ξανασκεφτεί. Κάθε πράγμα στον καιρό του και η XML εκεί που πρέπει. Πολύ σωστά ειπώθηκε παραπάνω ότι πολλές φορές η XML είναι λάθος επιλογή γιατί είναι πολύ φλύαρη (το λεγόμενο angle bracket tax), αλλά δεν επιλέγεις XML αν αυτό που σ' ενδιαφέρει πρώτα απ' όλα είναι η συντομία. Πάντως από τα όσα διάβασα παραπάνω βλέπω ότι δυστυχώς υπάρχει πολλή παραπληροφόρηση. Τα πράγματα είναι απλά: η κάθε μορφή μεταφοράς δεδομένων, είτε είναι XML είτε YAML είτε JSON είτε .ini file (γι' αυτό το τελευταίο δεν υπάρχει καν ορισμός οπότε αν θέλεις να μιλήσεις με άλλες εφαρμογές είναι τελείως λάθος επιλογή) έχει τα υπέρ και τα κατά. Η XML όπως λέει και ο Atwood στο link που έδωσα μπορεί να κάνει τα πάντα απροβλημάτιστα, αλλά αυτή την ευελιξία την πληρώνεις με φλυαρία ακόμα και όταν θέλεις να κάνεις μόνο πολύ απλά πράγματα. 4
dark_banishing Δημοσ. 15 Σεπτεμβρίου 2012 Δημοσ. 15 Σεπτεμβρίου 2012 Δείτε και το proto buf που έκανε πρόσφατα release η google.
defacer Δημοσ. 15 Σεπτεμβρίου 2012 Δημοσ. 15 Σεπτεμβρίου 2012 To protobuf υπάρχει εδώ και πάρα πολύ καιρό και η χρήση του είναι συγκεκριμένα να κάνεις serialize/deserialize αντικείμενα (και όχι δεδομένα).
dark_banishing Δημοσ. 15 Σεπτεμβρίου 2012 Δημοσ. 15 Σεπτεμβρίου 2012 Και οι κυριοτερες εναλλακτικές για να το κάνεις αυτό είναι xml και json για αυτό το ανέφερα.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα