XML Schema Definition , XSD , é o padrão mais aceito para definir a estrutura de documentos XML. Os esquemas podem definir restrições , atributos opcionais e necessários dentro de um documento XML. . Net permite a validação do XML utilizando um ou mais esquemas antes de processar o conteúdo. Validando XML reduz a quantidade de manipulação de exceção que deve ser realizada em erros de código e pega na formatação de dados que possam passar despercebidas . Coisas que você precisa 
 Visual Studio 2008 ou acima 
 nível intermediário de conhecimento. Programação 
 Net 
 Visualizar Mais instruções 
 Validação XML usando XmlReaderSettings 
 1 
 Criar um novo projeto C # do tipo desejado no Visual Studio. Se você deseja adicionar a validação de XML para um projeto existente, você pode pular esta etapa. 
 2 
 Abra a caixa de diálogo " Add New Item " , clicando em " Project" e em seguida clicar em "Adicionar Classe . " 
 3 
 Especifique um nome para a nova classe que adere aos seus padrões de codificação e práticas de nomeação. 
 4 
 o botão direito do mouse no projeto no Solution Explorer para exibir o menu do projeto. 
 5 
 Selecione "Add Reference " no menu para exibir a caixa de diálogo "Add Reference " . 
 6 
 Select System.XML da lista de componentes e , em seguida, clique no botão "Selecionar". Em seguida , clique em " OK". 
 7 
 Adicionar um método para a nova classe usando o seguinte código : 
 
 ValidateDocument private bool (string xmlFile , corda xsdFile ) 
 
 { 
 
 configurações XmlReaderSettings = new XmlReaderSettings { ValidationType 
 
 = reader = XmlReader.Create ( xmlFile , configurações ); 
 
 tentar 
 
 { 
 
 while ( reader.Read ()); 
 
 return true; 
 
 } 
 
 catch ( XmlSchemaValidationException ex) { 
 
 
 
 //indica que ocorreu um erro de validação 
 
 return false; . 
 
 } 
 
 } 
 
 Este XML cargas de código em um XmlReader e um esquema XML para um XmlSchemaSet . Todos os atributos e elementos do documento XML são validados quando o documento é lido , não há necessidade de visitar elementos individualmente. Se o documento XML não é válido um XmlSchemaValidationException é lançada. A exceção inclui uma mensagem de erro , número da linha e posição onde o erro ocorreu. O processamento é interrompido no primeiro erro encontrado 
 
 Se você deseja processar todo o documento e ver todos os erros , e não apenas o primeiro erro , você pode adicionar um manipulador de erro para o evento ValidationEventHandler usando o seguinte código : . 
 
 settings.ValidationEventHandler + = ValidationHandler ; 
 
 vazio ValidationHandler (object sender, ValidationEventArgs e) evento 
 
 { 
 
 //processo estático aqui 
 
 } 
 XML Validação usando LINQ 
 8 
 Crie um novo projeto C # do tipo desejado no Visual Studio. Se você deseja adicionar a validação de XML para um projeto existente, você pode pular esta etapa. 
 9 
 Abra a caixa de diálogo " Add New Item " , clicando em " Project" e em seguida clicar em "Adicionar Classe . " 
 10 
 Especifique um nome para a nova classe que adere aos seus padrões de codificação e práticas de nomeação. 
 11 
 o botão direito do mouse no projeto no Solution Explorer para exibir o projeto menu. 
 12 
 Selecione "Add Reference " no menu para exibir a caixa de diálogo "Add Reference " . 
 13 
 Selecione System.XML e System.Linq do lista de componentes e , em seguida, clique no botão "Selecionar". Em seguida , clique em " OK". 
 14 
 Adicione um método para a nova classe usando o seguinte código : 
 
 ValidateDocument private bool (string xmlFile , corda xsdFile ) 
 
 { 
 
 //Criar o documento XML para validar contra 
 
 XDocument xdoc = XDocument.Load ( xmlFile , LoadOptions.PreserveWhitespace ); 
 
 XmlSchemaSet esquema = new XmlSchemaSet ( ); 
 
 bool isError = new bool ( ) //o padrão é falso 
 
 int countError = 1; /.. /Conta o número de erros geraram 
 
 //Adicione o arquivo de esquema que você deseja validar contra 
 
 schema.Add (null, xsdFile ); . 
 
 //Call validar e usar uma expressão lambda como método estendido 
 
 //você não ama . NET 3.5 e LINQ ... 
 
 xDoc.Validate ( esquema, (sender , e) = > 
 
 {switch ( e.Severity ) 
 
 {case XmlSeverityType.Error : 
 
 break; 
 
 caso XmlSeverityType.Warning : 
 
 break; } 
 
 
 
 countError + +; 
 
 isError = true; //Se fogos de erro, sinalizá-lo para lidar com uma vez chamada é completa 
 
 } 
 
 , true); . //Verdadeiro conta a validar chamada para preencher o post Esquema validação 
 
 //que você vai precisar mais tarde , se você quiser mergulhar mais fundo ... um littel 
 
 retornar isError ; 
 
 } 
 
 Este XML cargas de código em um XDocument e um esquema XML para um XmlSchemaSet . Em seguida, chama o método Validate na XDocument usando uma expressão lambda como o ValidationEventHandler .