neowin Δημοσ. 2 Μαρτίου 2015 Δημοσ. 2 Μαρτίου 2015 Καλησπέρα σε όλους. Eχω να φτιάξω ένα σύστημα κρατήσεων για αεροπορική εταίρεια. Ο καθηγητής που το ανέθεσε μου λέει πάρτο και κάντο σε XML. Αποφάσισα να κάνω τις φόρμες σε visual basic και απότι κατάλαβα τα ερωτήματα και οι πίνακες γίνονται σε xsd schema. Απο βάσεις και SQL γνωρίζω αρκετα καλά. Μπορεί κάποιος να βοηθήσει πως να ξεκινήσω!!!! Το tutorial στο w3c δεν με βοήθησε τοσο.. Κάπου μάλιστδιάβασα οτι η xml δεν είναι καν βαση (??) Τα φώτα σας παρακαλω να πάρω μια ιδεα!
albNik Δημοσ. 2 Μαρτίου 2015 Δημοσ. 2 Μαρτίου 2015 Σου ειπε ότι τα data θα τα αποθηκευσεις σε XML και οχι σε βαση δεδομενων. Το .ΝΕΤ εχει πολύ καλή υποστήριξη για XML ειδικα στο System.Xml.Linq. https://msdn.microsoft.com/en-us/library/system.xml.linq(v=vs.110).aspx 3
nucleus Δημοσ. 2 Μαρτίου 2015 Δημοσ. 2 Μαρτίου 2015 Από το να μπλέξεις με XPath η επιλογή της Linq για XML που προτείνεται παραπάνω είναι πολύ καλύτερη. Και λίγος κώδικας έτσι για αρχή var xdoc = XElement.Load(Server.MapPath("~/App_Data/Documents.xml")); var documents = from x in xdoc.Elements("Document") where (string)x.Attribute("DocumentId") == id.ToString() select x; Το παραπάνω διαβάζει το App_Data/Documents.xml και σου επιστρέφει το Document που έχει το συγκεκριμένο DocumentId To Documents.xml έχει τα παρακάτω <?xml version="1.0" encoding="utf-8"?> <Documents> <Document DocumentId="14878"...></Document> <Document DocumentId="14879"...></Document> </Documents> Απλώς καλό θα ήταν να αποφασίσεις πως θες να έχεις τα δεδομένα. Με attributes <Document DocumentId="14878"...></Document> ή Με child elements <Document> <DocumentId>14878<DocumentId> </Document> Επειδή ανάλογα με τον τρόπο αλλάζει και η Linq. Αποφάσισε το στην αρχή.
Papakaliati Δημοσ. 2 Μαρτίου 2015 Δημοσ. 2 Μαρτίου 2015 Xml δεν ειναι βαση δεδομενων, ειναι file format, παρομοιο με Json Files. <?xml version="1.0" encoding="utf-8"?> <Documents><Document DocumentId="14878"...></Document><Document DocumentId="14879"...></Document></Documents> οπως ανεφερε ο φιλος. Χρησιμοποιειται για να παιζεις με πληροφοριες, αλλα δεν εχει την ιδια λειτουργια με βασεις δεδομενων . Ο καθηγητης σου δεν θελει να σωζεις τα δεδομενα σε βαση δεδομενων, αλλα σε αρχεια. Ενας (πιο ευκολος) τροπος ειναι να δουλευεις με Linq , οποτε θα μπορεις να το δουλεψεις σαν βαση sql δεδομενων και να κανεις select queries etc, αλλα δεν σου στο προτεινα. Προτεινω να το αντιμετωπισεις αυστηρα σαν xml file, ωστε να μαθεις να δουλευεις με xml files οχι μονο σε .Net περιβαλλον, αλλα πιο σφαιρικα. http://stackoverflow.com/questions/284324/how-can-i-build-xml-in-c Το αρθρο λεει αρκετες πληροφοριες σχετικα με xml αρχεια .
neowin Δημοσ. 2 Μαρτίου 2015 Μέλος Δημοσ. 2 Μαρτίου 2015 Eυχαριστώ πολύ όλους για τις απαντήσεις σας! Aρα πάμε με τη linq. Φίλε Papakaliati τι εννοείς χωρίς SQL? Είναι εύκολο να δείξεις ένα παράδειγμα? Λογικά στην xml δεν παίζουν κλειδιά συσχετίσεις(1:N κλπ). Και το xsd schema θα είναι με όλους τους πίνακες μέσα.
Papakaliati Δημοσ. 2 Μαρτίου 2015 Δημοσ. 2 Μαρτίου 2015 Ο φιλος nucleus τα ειπε καλα πανω. To .Net εχει one component, το LINQ (Language Integrated Query) που σου επιτρεπει ουσιαστικα να χειριζεσαι collections σαν tables, και να μπορεις να τα κανεις queries, πχ var xdoc = XElement.Load(Server.MapPath("~/App_Data/Documents.xml")); var documents = from x in xdoc.Elements("Document") where (string)x.Attribute("DocumentId") == id.ToString() select x; , οπως δηλαδη θα εκανες ενα select σε μια sql βαση δεδομενων. Ομως αυτο ειναι συγκεκριμενο για .νετ περιβαλλον, οποτε θα σου προτεινα να το χειριστεις πιο γενικα το θεμα και να μην χρησιμοποιησεις linq.. xml παραδειγμα που δινει η ΜS: <?xml version="1.0"?><catalog><book id="bk101"> <author>Gambardella, Matthew</author> <title>XML Developer's Guide</title> <genre>Computer</genre> <price>44.95</price> <publish_date>2000-10-01</publish_date> <description>An in-depth look at creating applicationswith XML.</description></book><book id="bk102"> <author>Ralls, Kim</author> <title>Midnight Rain</title> <genre>Fantasy</genre> <price>5.95</price> <publish_date>2000-12-16</publish_date> <description>A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world.</description></book> </catalog> Δεν καταλαβαινω τι εννοεις οταν λες ολους τους πινακες μεσα, αλλα το xsd schema ειναι απλα ενα αρχειο xml, με εναν ας πουμε συγκεκτριμενο τροπο οργανωσης. Δεν το γνωριζω συγκεκτριμενα το xsd schema και με μια ματια που του εριξα δεν προκεται ποτε για κανεναν λογο να το χρησιμοποιησω , αλλα δεν ειναι κατι πολυπλοκο, ριξε μια προσεκτικη ματια και θα το καταλαβεις..
nucleus Δημοσ. 2 Μαρτίου 2015 Δημοσ. 2 Μαρτίου 2015 Για να το κάνεις χωρίς Linq φαντάσου το XML file σαν ένα tree view. πχ για το παρακάτω <?xml version="1.0"?> <catalog> <book id="bk101"> <author>Gambardella, Matthew</author> <title>XML Developer's Guide</title> <genre>Computer</genre> <price>44.95</price> <publish_date>2000-10-01</publish_date> <description>An in-depth look at creating applicationswith XML.</description> </book> <book id="bk102"> <author>Ralls, Kim</author> <title>Midnight Rain</title> <genre>Fantasy</genre> <price>5.95</price> <publish_date>2000-12-16</publish_date> <description>A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world.</description> </book> </catalog> Μπορεί να αντιστοιχιστεί σε ένα δέντρο. Root Node = catalog. Περιλαμβάνει 2 nodes ένα για κάθε book element. To κάθε book element περιλαμβάνει ένα σύνολο απο attributes και ένα σύνολο απο sub elements. Για να αλλάξεις κάτι έτσι απλώς προσθέτεις,τροποποιείς,διαγράφεις nodes από το δέντρο. Διάβασε και εδώ https://msdn.microsoft.com/en-us/library/system.xml.xmldocument%28v=vs.110%29.aspx Και ακόμα περισσότερο info. https://msdn.microsoft.com/en-us/library/bb387021.aspx Τα xsd αρχεία είναι και αυτά xml και καθορίζουν την δομή των xml αρχείων που κάνουν derive από αυτά ώστε να μπορείς να κάνεις validate. Δεν κάνουν τίποτα παραπάνω.
neowin Δημοσ. 3 Μαρτίου 2015 Μέλος Δημοσ. 3 Μαρτίου 2015 Να'στε καλά για τη βοήθεια παιδία! Θα επανέλθω με κώδικα σύντομα.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα