Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς να χρησιμοποιήσετε το XSD στο Net

XML Schema Definition , XSD , είναι το πιο ευρέως αποδεκτό πρότυπο για τον καθορισμό της δομής των εγγράφων XML . Τα σχήματα μπορεί να καθορίσει τους περιορισμούς , προαιρετικά και απαιτούμενα χαρακτηριστικά μέσα σε ένα έγγραφο XML . . Net επιτρέπει την επικύρωση της XML χρησιμοποιώντας ένα ή περισσότερα σχήματα πριν από την επεξεργασία του περιεχομένου . Επικύρωση XML μειώνει το χειρισμό εξαίρεση το ποσό που πρέπει να εκτελεστούν στον κώδικα και τα αλιεύματα τα σφάλματα στην μορφοποίηση των δεδομένων που αλλιώς μπορεί να παραβλεφθούν . Τα πράγματα που θα χρειαστείτε
Visual Studio 2008 ή πάνω από
Ενδιάμεσο επίπεδο γνώσεων . Net
προγραμματισμού
Παρουσίαση Περισσότερες οδηγίες
XML Επικύρωση Χρησιμοποιώντας XmlReaderSettings
Η 1

Δημιουργία νέο έργο C # του επιθυμητού τύπου στο Visual Studio . Αν θέλετε να προσθέσετε επικύρωση XML σε ένα υπάρχον έργο , μπορείτε να παραλείψετε αυτό το βήμα . 2

Ανοίξτε το παράθυρο διαλόγου " Προσθήκη νέου στοιχείου " κάνοντας κλικ στο " Project" και , στη συνέχεια, κάνοντας κλικ στην επιλογή " Προσθήκη κατηγορίας ".
εικόνων 3

Καθορίστε ένα όνομα για τη νέα τάξη που τηρεί τα πρότυπα κωδικοποίησης σας και την ονομασία των πρακτικών .
Η

4 κάντε δεξί κλικ στο πρόγραμμα στην Εξερεύνηση λύση για εμφανίσετε το μενού του έργου .
5

Επιλέξτε " Add Reference " από το μενού για να εμφανιστεί το " Add Reference " παράθυρο διαλόγου .
Η 6

Επιλέξτε System.Xml από τη λίστα των στοιχείων και στη συνέχεια κάντε κλικ στο κουμπί "Επιλογή " . Στη συνέχεια , κάντε κλικ στο " OK".
Η 7

Προσθέστε μια μέθοδο για τη νέα κλάση με τον ακόλουθο κώδικα :

ValidateDocument ιδιωτικό bool (string xmlFile , string xsdFile )

{

ρυθμίσεις XmlReaderSettings = νέα XmlReaderSettings { ValidationType

= αναγνώστη = XmlReader.Create ( xmlFile , ρυθμίσεις) ?

προσπαθήσουμε

{

ενώ ( reader.Read ( ) ) ?

επιστρέψει αλήθεια?

}

αλιευμάτων ( XmlSchemaValidationException πρώην )

{

//δείχνει ένα σφάλμα επικύρωσης συνέβη

επιστροφή ψευδείς? .

} }


Αυτό φορτία κώδικα XML σε ένα XmlReader και ένα σχήμα XML σε ένα XMLSchemaSet . Όλα τα χαρακτηριστικά και τα στοιχεία σε ένα έγγραφο XML επικυρωθεί όταν το έγγραφο διαβάζεται ? Δεν υπάρχει καμία ανάγκη να επισκεφτεί τα στοιχεία που μεμονωμένα . Εάν το έγγραφο XML δεν είναι έγκυρη μια XmlSchemaValidationException ρίχνεται . Η εξαίρεση περιλαμβάνει ένα μήνυμα σφάλματος , τον αριθμό της γραμμής και τη θέση όπου συνέβη το σφάλμα . Επεξεργασία σταματάει στο πρώτο λάθος που αντιμετωπίζουν

Εάν θέλετε να επεξεργαστείτε ολόκληρο το έγγραφο και να δούμε όλα τα λάθη , όχι μόνο το πρώτο λάθος , μπορείτε να προσθέσετε ένα πρόγραμμα χειρισμού σφαλμάτων για ValidationEventHandler περίπτωση, με τον ακόλουθο κώδικα : .

settings.ValidationEventHandler + = ValidationHandler ?

στατική άκυρη ValidationHandler ( αποστολέας αντικείμενο , ValidationEventArgs ε)

{

//διαδικασία του συμβάντος εδώ

}
εικόνων XML Επικύρωση Χρησιμοποιώντας LINQ
Τετάρτη 8

Δημιουργήστε ένα νέο έργο C # του επιθυμητού τύπου στο Visual Studio . Αν θέλετε να προσθέσετε επικύρωση XML σε ένα υπάρχον έργο , μπορείτε να παραλείψετε αυτό το βήμα .
Η 9

Ανοίξτε το παράθυρο διαλόγου " Προσθήκη νέου στοιχείου " κάνοντας κλικ στο " Project" και , στη συνέχεια, κάνοντας κλικ στην επιλογή " Προσθήκη κατηγορίας ".
Η 10

Καθορίστε ένα όνομα για τη νέα τάξη που συμμορφώνεται με τα πρότυπα κωδικοποίησης σας και την ονομασία των πρακτικών .
Η 11

δεξί κλικ στο έργο στην Εξερεύνηση λύση για να εμφανιστεί το έργο μενού .
Η 12

Επιλέξτε " Add Reference " από το μενού για να εμφανιστεί το " Add Reference " παράθυρο διαλόγου .
Η 13

Επιλέξτε System.Xml και System.Linq από το κατάλογο των συστατικών και στη συνέχεια κάντε κλικ στο κουμπί "Επιλογή " . Στη συνέχεια , κάντε κλικ στο " OK".
Η 14

Προσθέστε μια μέθοδο για τη νέα κλάση με τον ακόλουθο κώδικα :

ValidateDocument ιδιωτικό bool (string xmlFile , string xsdFile )

{

//Δημιουργία του εγγράφου XML για την επικύρωση κατά

XDocument xdoc = XDocument.Load ( xmlFile , LoadOptions.PreserveWhitespace ) ?

XmlSchemaSet σχήμα = νέα XmlSchemaSet ( ) ?

bool ISERROR = νέα bool ( ) ? //προεπιλογών σε ψευδείς

int countError = 1 ? . . //Μετρά τον αριθμό των σφαλμάτων που δημιουργούνται

//Προσθέστε το αρχείο σχήματος που θέλετε να επικυρώσετε κατά

schema.Add ( null , xsdFile )? .

//Call επικυρώσει και να χρησιμοποιήσετε μια έκφραση λάμδα όπως παρατάθηκε μέθοδος

//μην αγαπάτε . NET 3.5 και LINQ ...

xDoc.Validate ( σχήμα , ( αποστολέας , ε) = >

{ διακόπτη ( e.Severity )

{ περίπτωση XmlSeverityType.Error :

σπάσει?

περίπτωση XmlSeverityType.Warning :

σπάσει?

}

countError + + ?

ISERROR = true ? //Αν πυρκαγιές σφάλματος , σημαία να χειριστεί μια φορά κλήση είναι πλήρης

}

, αλήθεια)? . //True λέει ο επικύρωση πρόσκληση για να συμπληρώσετε τη μετα- σχήμα - επικύρωσης

//που θα χρειαστεί αργότερα , αν θέλετε να βουτήξει βαθύτερα littel ...

επιστρέψει ISERROR ?

}

Αυτό φορτία κώδικα XML σε ένα XDocument και ένα σχήμα XML σε ένα XMLSchemaSet . Αυτό τότε καλεί τη μέθοδο Επικύρωση στην XDocument χρησιμοποιώντας μια έκφραση λάμδα ως ValidationEventHandler .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα