3
I have this function to validate an xml:
public static bool ValidarXML(string pathXML, string pathSchema, ref string retorno)
    {
        bool falhou;
        // Define o tipo de validação
        XmlReaderSettings settings = new XmlReaderSettings();
        settings.ValidationType = ValidationType.Schema;
        // Carrega o arquivo de esquema
        XmlSchemaSet schemas = new XmlSchemaSet();
        settings.Schemas = schemas;
        // Quando carregar o eschema, especificar o namespace que ele valida
        // e a localização do arquivo 
        schemas.Add(null, pathSchema);
        // Especifica o tratamento de evento para os erros de validacao
        // settings.ValidationEventHandler += ValidationEventHandler;
        // cria um leitor para validação
        XmlReader validator = XmlReader.Create(pathXML, settings);
        falhou = false;
        try
        {
            // Faz a leitura de todos os dados XML
            while (validator.Read()) { }
        }
        catch (XmlException err)
        {
            // Um erro ocorre se o documento XML inclui caracteres ilegais
            // ou tags que não estão aninhadas corretamente
            retorno = "Ocorreu um erro critico durante a validação do XML: " + err.Message;
            falhou = true;
        }
        finally
        {
            validator.Close();
            retorno = "Arquivo validado com sucesso";
        }
        return !falhou;
    }
However I am trying to pass the file, and is returning me error:
 ValidarXML("E:\\nota.xml", typeof(tcNfse), ref a);
The schema in the case is the typeof(tcNfse)
It returns the following error:
cannot convert from "System.Type" to "string"
As in the comments, I was able to solve this error above by adding the suggestion:
ValidarXML("E:\\nota.xml", nameof(tcNfse), ref a);
But he says he can’t find the tcNfse, he is looking for the file inside the project, in case I have to pass the location of the file, is it ? instead of it inside the program? 
(string pathXML, string pathSchema, ref string retorno)just look at the signature, where the second parameter needs to be astring!!! understood the problem?– novic
@Virgilionovic I understood, but do not know how to fix, pass the schema as string.
– Mariana
maybe a
nameOf(tcNfse)solve, maybe I don’t know how to try !!! likeValidarXML("E:\\nota.xml", nameOf(tcNfse), ref a);– novic
@Virgilionovic I’m trying to get through but he says he can’t find, Could not find file 'E: ERP Erp tcNfse'. schema is in the project, the xsd file, all right, would it be right to pass the path, and not the
tcNfse?– Mariana
So I do not know the purpose of the method ... just pointed out the problem reported by the exception generated
– novic
@Virgilionovic, I’m going to do a little more digging, see if I can sort it out, thanks for the time being.
– Mariana
I did it this way:
ValidarXML("E:\\nota.xml", "E:\\xmldsig-core-schema20020212.xsd", ref a);and I managed to fix it. Here’s a tip for those who have the same problem.– Mariana