Δημιουργία νέο έργο 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 .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα