Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> .

Come utilizzare XSD in netto

definizione dello schema XML, XSD , è lo standard più diffuso per definire la struttura di documenti XML . Gli schemi possono definire limitazioni , opzionali e gli attributi richiesti all'interno di un documento XML . . Net consente di validazione XML utilizzando uno o più schemi prima di elaborare il contenuto . Convalida XML riduce la gestione delle eccezioni importo che deve essere esercitata nel codice e rileva gli errori nella formattazione dei dati che potrebbero altrimenti passare inosservati . Cose che ti serviranno
Visual Studio 2008 o superiore
conoscenza di livello intermedio . Programmazione Net
Mostra più istruzioni
Convalida XML Utilizzando XmlReaderSettings
1

Creare un nuovo progetto C # del tipo desiderato in Visual Studio . Se si desidera aggiungere la convalida XML a un progetto esistente , è possibile saltare questo passaggio .

2 Aprire la finestra di dialogo " Aggiungi nuovo elemento ", facendo clic su " Progetto" e quindi facendo clic su " Aggiungi classe . "

3 Specificare un nome per la nuova classe che aderisce ai vostri standard di codifica e la denominazione pratiche .
4

destro del mouse sul progetto in Esplora soluzioni per visualizzare il menu del progetto .
5

Selezionare " Aggiungi riferimento " dal menu per visualizzare la finestra di dialogo " Aggiungi riferimento " .
6

Seleziona System.XML dalla lista di componenti e quindi fare clic sul pulsante "Seleziona" . Quindi , fare clic su "OK".
7

Aggiungere un metodo per la nuova classe utilizzando il seguente codice :

private bool ValidateDocument ( stringa xmlFile , stringa xsdFile ) per

{
impostazioni XmlReaderSettings

= new XmlReaderSettings { ValidationType

= reader = XmlReader.Create ( xmlFile , impostazioni ) ;

provare

{

mentre ( reader.Read ());

return true ;

}
cattura

( XmlSchemaValidationException ex ) per

{

//indica un errore di convalida si è verificato

return false ;
.

}

}

Questo codice carica XML in un XmlReader e uno schema XML in un XmlSchemaSet . Tutti gli attributi e gli elementi nel documento XML vengono convalidati quando il documento viene letto , non c'è bisogno di visitare gli elementi singolarmente . Se il documento XML non è valido viene generata XmlSchemaValidationException . L'eccezione include un messaggio di errore , il numero di riga e la posizione in cui si è verificato l' errore . . Elaborazione si ferma al primo errore incontrato

Se si desidera elaborare l'intero documento e vedere tutti gli errori , non solo il primo errore , è possibile aggiungere un gestore di errori per l'evento ValidationEventHandler utilizzando il seguente codice :

settings.ValidationEventHandler + = ValidationHandler ;

static void ValidationHandler ( object sender , ValidationEventArgs e)

{

/evento /processo qui

}
convalida XML con LINQ
8

Creare un nuovo progetto C del tipo desiderato in Visual Studio . Se si desidera aggiungere la convalida XML a un progetto esistente , è possibile saltare questo passaggio .
9

Aprire la finestra di dialogo " Aggiungi nuovo elemento ", facendo clic su " Progetto" e quindi facendo clic su " Aggiungi classe . "
10

Specificare un nome per la nuova classe che aderisce ai vostri standard di codifica e la denominazione pratiche .
11

destro del mouse sul progetto in Esplora soluzioni per visualizzare il progetto menu.
12

Selezionare " Aggiungi riferimento " dal menu per visualizzare la finestra di dialogo " Aggiungi riferimento " .
13

Select System.XML e System.Linq dal elenco dei componenti e quindi fare clic sul pulsante "Seleziona" . Quindi , fare clic su "OK".
14

Aggiungere un metodo per la nuova classe utilizzando il seguente codice :

private bool ValidateDocument ( stringa xmlFile , stringa xsdFile ) per

{

//Creare il documento XML per convalidare contro

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

XmlSchemaSet schema = new XmlSchemaSet ( ) ;

bool isError = new bool ( ) ; //il valore predefinito è falso

int countError = 1; . . //conta il numero di errori sono generati

//Aggiungi il file di schema che si desidera convalidare contro

schema.Add (null , xsdFile ) . !

//Call validare e utilizzare un'espressione lambda come metodo allargata

//Non si ama . NET 3.5 e LINQ ...

xDoc.Validate ( schema, ( sender , e) = >

{ switch ( e.Severity )

{case XmlSeverityType.Error :

break;

caso XmlSeverityType.Warning :

break;

}

countError + + ;

isError = true ; //Se i fuochi d'errore , la bandiera che riesce a gestire una volta chiamata è completa

}

, true); . //Vero racconta la convalidare chiamare per popolare il post- convalida dello schema

//di cui avrete bisogno in seguito , se volete fare immersioni un pò più profondo ...
ritorno

isError ;

}

Questo codice carica XML in un XDocument mentre uno schema XML in un XmlSchemaSet . E poi chiama il metodo Validate sul XDocument utilizzando un'espressione lambda come ValidationEventHandler .

 

Programmazione © www.354353.com