jsonecho

XML σε C#

Επικολλήστε ένα έγγραφο XML για να δημιουργήσετε τύπους C# που ταιριάζουν στη δομή του.

Φόρτωση εργαλείου...

Πώς να χρησιμοποιήσετε το XML σε C#

  1. Επικολλήστε ένα αντιπροσωπευτικό δείγμα XML, ιδανικά με όλα τα προαιρετικά πεδία συμπληρωμένα.
  2. Ορίστε το όνομα του ριζικού τύπου και επιλέξτε αν θέλετε και βοηθητικό κώδικα ή μόνο τους τύπους.
  3. Αντιγράψτε τον παραγόμενο κώδικα C# στο έργο σας.

Σχετικά με το XML σε C#

Η χειροκίνητη δημιουργία κλάσεων μοντέλου για πολλά δεδομένα XML είναι κουραστική και μπορεί εύκολα να οδηγήσει σε τυπογραφικά λάθη. Επικολλήστε εδώ ένα δείγμα και το εργαλείο θα αναγνωρίσει τη δομή του: ποια πεδία υπάρχουν, ποια είναι αντικείμενα, ποια είναι πίνακες και τι τύπο έχει κάθε τιμή. Το αποτέλεσμα είναι κλάσεις με ιδιότητες. Αποεπιλέξτε το "Μόνο τύποι" για να προστεθούν χαρακτηριστικά Newtonsoft.Json και μια κλάση Converter.

Το XML μετατρέπεται πρώτα σε JSON με τον ίδιο τρόπο όπως στο εργαλείο μας XML σε JSON: τα χαρακτηριστικά παίρνουν ένα @_ Το προοίμιο και το περιεχόμενο κειμένου δίπλα στις ιδιότητες ονομάζεται #text. Οι τύποι C# δημιουργούνται από αυτό το αποτέλεσμα. Τα ονόματα ιδιοτήτων μετατρέπονται σε PascalCase και αποκτούν χαρακτηριστικό JsonProperty, ώστε να διατηρείται το αρχικό κλειδί.

Χρήση του παραγόμενου κώδικα

Με τους βοηθούς, καλέστε Root.FromJson(json). Με τύπους μόνο, χρήση JsonSerializer.Deserialize<Root>(json) από System.Text.Json και προσθέστε χαρακτηριστικά αν τα ονόματα διαφέρουν.

Χρήση ακυρώσιμων μελών long?, double? κλπ., συν μηδενικά είδη αναφοράς, όπου είναι απαραίτητο.

Συχνές ερωτήσεις

Ποιες εξαρτήσεις έχει ο παραγόμενος κώδικας C#;

Το αποτέλεσμα είναι κλάσεις με ιδιότητες. Αποεπιλέξτε το "Μόνο τύποι" για να προστεθούν χαρακτηριστικά Newtonsoft.Json και μια κλάση Converter.

Πώς αναλύω το XML με το αποτέλεσμα;

Μετατρέψτε το XML σε JSON πρώτα (το εργαλείο μας XML σε JSON το κάνει με τον ίδιο τρόπο), στη συνέχεια με τους βοηθούς, καλέστε Root.FromJson(json). Με τύπους μόνο, χρήση JsonSerializer.Deserialize<Root>(json) από System.Text.Json και προσθέστε χαρακτηριστικά αν τα ονόματα διαφέρουν.

Πώς αντιμετωπίζονται τα προαιρετικά πεδία και όσα λείπουν;

Χρήση ακυρώσιμων μελών long?, double? κλπ., συν μηδενικά είδη αναφοράς, όπου είναι απαραίτητο.

Εξετάζει το εργαλείο περισσότερες από μία εγγραφές;

Το εργαλείο γνωρίζει μόνο όσα περιλαμβάνει το δείγμα σας. Αν ένα πεδίο λείπει από το δείγμα, δεν θα συμπεριληφθεί στους τύπους. Αν μια τιμή είναι null, ο τύπος της δεν μπορεί να προσδιοριστεί. Επικολλήστε ένα δείγμα με όσο το δυνατόν περισσότερα συμπληρωμένα πεδία ή έναν πίνακα με αρκετές διαφορετικές εγγραφές.

Αποστέλλεται το XML μου σε διακομιστή;

Όχι. Την πρώτη φορά γίνεται λήψη του εργαλείου στο πρόγραμμα περιήγησης, περίπου 1 MB. Στη συνέχεια, όλα εκτελούνται τοπικά.

Περισσότερα στην κατηγορία Δεδομένα σε κλάσεις

Όλα τα εργαλεία →