Copyright © Unimake Software
Generated with DocFX

Search Results for

    Class XMLUtility

    Utilitários diversos para trabalhar com XML

    Inheritance
    System.Object
    XMLUtility
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Unimake.Business.DFe.Utility
    Assembly: Unimake.Business.DFe.dll
    Syntax
    public static class XMLUtility

    Methods

    CalcularDVChave(String)

    Gerar o dígito da chave da NFe, CTe, MDFe ou NFCe

    Declaration
    public static int CalcularDVChave(string chave)
    Parameters
    Type Name Description
    System.String chave

    Chave do DFe (sem o dígito) que deve ser calculado o dígito verificador.

    Returns
    Type Description
    System.Int32

    Dígito verificador

    ChecarChaveDFe(String)

    Executa uma verificação simples para garantir que a chave do DFe (NFe, CTe, MDfe, NFCe, CTeOS) é valida, se tiver erros retorna exceção.

    Declaration
    public static void ChecarChaveDFe(string chave)
    Parameters
    Type Name Description
    System.String chave

    Chave do DFe a ser verificada

    Examples

    try { XMLUtility.ChecarChaveDFe("41201280568835000181570010000004841004185096"); } catch(Exception ex) { //Se chave tiver algum erro, vai retornar uma exceção. MessageBox.Show(ex.Message); }

    ClearExtraSpaces(String)

    Limpar espaços desnecessários da string, por exemplo: Espaços duplos no meio da sentença, espaços no inicio ou final da sentença.

    Declaration
    public static string ClearExtraSpaces(string content)
    Parameters
    Type Name Description
    System.String content
    Returns
    Type Description
    System.String

    Retorna string sem os espaços desnecessários

    Examples

    var texto = " Eu vou ao supermercado comprar alimentos. "; texto = XMLUtility.LimparEspacoDesnecessario(texto); MessageBox.Show(texto); // Retorno será: "Eu vou ao supermercado comprar alimentos."

    See Also
    UnescapeReservedCharacters(String)

    Deserializar<T>(String)

    Desserializar XML (Converte o XML para um objeto)

    Declaration
    public static T Deserializar<T>(string xml)
        where T : new()
    Parameters
    Type Name Description
    System.String xml

    String do XML a ser desserializado

    Returns
    Type Description
    T

    Retorna o objeto com o conteúdo do XML desserializado

    Type Parameters
    Name Description
    T

    Tipo do objeto

    Deserializar<T>(XmlDocument)

    Desserializar XML (Converte o XML para um objeto)

    Declaration
    public static T Deserializar<T>(XmlDocument doc)
        where T : new()
    Parameters
    Type Name Description
    System.Xml.XmlDocument doc

    Conteúdo do XML a ser desserializado

    Returns
    Type Description
    T

    Retorna o objeto com o conteúdo do XML desserializado

    Type Parameters
    Name Description
    T

    Tipo do objeto

    DetectDFeType(String)

    Detectar qual o tipo de documento fiscal eletrônico do XML

    Declaration
    public static TipoDFe DetectDFeType(string xml)
    Parameters
    Type Name Description
    System.String xml

    XML a ser analisado

    Returns
    Type Description
    TipoDFe

    Retorna o tipo do documento eletrônico

    DetectDFeType(XmlDocument)

    Detectar qual o tipo de documento fiscal eletrônico do XML

    Declaration
    public static TipoDFe DetectDFeType(XmlDocument xml)
    Parameters
    Type Name Description
    System.Xml.XmlDocument xml

    XML a ser analisado

    Returns
    Type Description
    TipoDFe

    Retorna o tipo do documento eletrônico

    DetectEventByDFeType(String)

    Retorna o tipo de documento fiscal com base no XML de evento.

    Declaration
    public static TipoDFe DetectEventByDFeType(string xml)
    Parameters
    Type Name Description
    System.String xml

    XML válido de evento.

    Returns
    Type Description
    TipoDFe

    DetectEventoCTeType(String)

    Detectar qual o tipo de evento do CT-e.

    Declaration
    public static TipoEventoCTe DetectEventoCTeType(string xml)
    Parameters
    Type Name Description
    System.String xml

    XML a ser analisado

    Returns
    Type Description
    TipoEventoCTe

    Retorna o tipo do evento do CT-e

    DetectEventoCTeType(XmlDocument)

    Detectar qual o tipo de evento do CT-e.

    Declaration
    public static TipoEventoCTe DetectEventoCTeType(XmlDocument xml)
    Parameters
    Type Name Description
    System.Xml.XmlDocument xml

    XML a ser analisado

    Returns
    Type Description
    TipoEventoCTe

    Retorna o tipo do evento do CT-e

    DetectEventoMDFeType(String)

    Detectar qual o tipo de evento do MDF-e.

    Declaration
    public static TipoEventoMDFe DetectEventoMDFeType(string xml)
    Parameters
    Type Name Description
    System.String xml

    XML a ser analisado

    Returns
    Type Description
    TipoEventoMDFe

    Retorna o tipo do evento do MDF-e

    DetectEventoMDFeType(XmlDocument)

    Detectar qual o tipo de evento do MDF-e.

    Declaration
    public static TipoEventoMDFe DetectEventoMDFeType(XmlDocument xml)
    Parameters
    Type Name Description
    System.Xml.XmlDocument xml

    XML a ser analisado

    Returns
    Type Description
    TipoEventoMDFe

    Retorna o tipo do evento do MDF-e

    DetectEventoNF3eType(String)

    Detectar qual o tipo de evento do NF3e.

    Declaration
    public static TipoEventoNF3e DetectEventoNF3eType(string xml)
    Parameters
    Type Name Description
    System.String xml

    XML a ser analisado

    Returns
    Type Description
    TipoEventoNF3e

    Retorna o tipo do evento do NF3e

    DetectEventoNF3eType(XmlDocument)

    Detectar qual o tipo de evento do NF3e.

    Declaration
    public static TipoEventoNF3e DetectEventoNF3eType(XmlDocument xml)
    Parameters
    Type Name Description
    System.Xml.XmlDocument xml

    XML a ser analisado

    Returns
    Type Description
    TipoEventoNF3e

    Retorna o tipo do evento do NF3e

    DetectEventoNFeType(String)

    Detectar qual o tipo de evento do documento fiscal eletrônico do XML

    Declaration
    public static TipoEventoNFe DetectEventoNFeType(string xml)
    Parameters
    Type Name Description
    System.String xml

    XML a ser analisado

    Returns
    Type Description
    TipoEventoNFe

    Retorna o tipo do evento do documento eletrônico

    DetectEventoNFeType(XmlDocument)

    Detectar qual o tipo de evento do documento fiscal eletrônico do XML

    Declaration
    public static TipoEventoNFe DetectEventoNFeType(XmlDocument xml)
    Parameters
    Type Name Description
    System.Xml.XmlDocument xml

    XML a ser analisado

    Returns
    Type Description
    TipoEventoNFe

    Retorna o tipo do evento do documento eletrônico

    DetectXMLType(XmlDocument)

    De acordo com os dados do XML será detectado de qual tipo ele é: XML de NFe, CTe, Consulta Status, Consulta Situação, Evento, etc...

    Declaration
    public static TipoXML DetectXMLType(XmlDocument xmlDoc)
    Parameters
    Type Name Description
    System.Xml.XmlDocument xmlDoc
    Returns
    Type Description
    TipoXML

    ExtrairConteudoChaveDFe(String)

    Extrair conteúdo da chave do documento fiscal eletrônico (NFe, NFCe, CTe, MDFe, etc...) com elementos separados.

    Declaration
    public static XMLUtility.ConteudoChaveDFe ExtrairConteudoChaveDFe(string chave)
    Parameters
    Type Name Description
    System.String chave

    Chave do DFe para extrair o conteúdo

    Returns
    Type Description
    XMLUtility.ConteudoChaveDFe

    Estrutura contendo o valor de cada elemento que compõe a chave do DFe

    Examples

    var conteudo = XMLUtility.ExtrairConteudoChaveDFe("41210212345678000112650110000000069123456787");

    Console.WriteLine(conteudo.UFEmissor); //Output: PR Console.WriteLine(conteudo.AnoEmissao); //Output: 21 Console.WriteLine(conteudo.MesEmissao); //Output: 02 Console.WriteLine(conteudo.CNPJCPFEmissor); //Output: 12345678000112 Console.WriteLine(conteudo.Modelo); //Output: NFCe Console.WriteLine(conteudo.Serie); //Output: 11 Console.WriteLine(conteudo.NumeroDoctoFiscal); //Output: 6 Console.WriteLine(conteudo.TipoEmissao); //Output: ContingenciaOffLine Console.WriteLine(conteudo.CodigoNumerico); //Output: 12345678 Console.WriteLine(conteudo.DigitoVerificador); //Output: 7

    ExtrairLinhaColuna(String)

    Extrair a linha e coluna da string da exceção referente a problema de desserialização do XML

    Declaration
    static int[] ExtrairLinhaColuna(string input)
    Parameters
    Type Name Description
    System.String input

    mensagem de exceção para analisar e extrair o conteúdo

    Returns
    Type Description
    System.Int32[]

    ExtrairParteXMLComFalha(String, Int32, Boolean)

    Extrair do XML a parte que gerou a exceção para retornar uma mensagem mais clara para o ERP.

    Declaration
    static string ExtrairParteXMLComFalha(string xml, int linePosition, bool voltarUmaTag = false)
    Parameters
    Type Name Description
    System.String xml

    Conteúdo do XML

    System.Int32 linePosition

    Posição da linha do XML que gerou a exceção

    System.Boolean voltarUmaTag

    Booleano para voltar uma tag

    Returns
    Type Description
    System.String

    GerarCodigoNumerico(Int32)

    Gera um número randômico para ser utilizado no Código Numérico da NFe, NFCe, CTe, MDFe, etc...

    Declaration
    public static int GerarCodigoNumerico(int numeroNF)
    Parameters
    Type Name Description
    System.Int32 numeroNF

    Número da NF, CT ou MDF

    Returns
    Type Description
    System.Int32

    Código numérico

    GetChaveDFe(String)

    Busca o número da chave do Documento Fiscal Eletrônico no XML do Documento Fiscal Eletrônico

    Declaration
    public static string GetChaveDFe(string xml)
    Parameters
    Type Name Description
    System.String xml

    Conteúdo do XML para busca da chave

    Returns
    Type Description
    System.String

    Chave do DFe (Documento Fiscal Eletrônico = NFe, NFCe, CTe, etc...)

    GetChaveDFe(String, TipoDFe)

    Busca o número da chave do Documento Fiscal Eletrônico no XML do Documento Fiscal Eletrônico

    Declaration
    public static string GetChaveDFe(string xml, TipoDFe typeDFe)
    Parameters
    Type Name Description
    System.String xml

    Conteúdo do XML para busca da chave

    TipoDFe typeDFe

    Tipo do DFe

    Returns
    Type Description
    System.String

    Chave do DFe (Documento Fiscal Eletrônico = NFe, NFCe, CTe, etc...)

    GetChaveEventoCTe(String)

    Busca o número da chave do evento do CT-e

    Declaration
    public static string GetChaveEventoCTe(string xml)
    Parameters
    Type Name Description
    System.String xml

    Conteúdo do XML para busca da chave

    Returns
    Type Description
    System.String

    Chave do evento do CT-e

    GetChaveEventoCTe(String, TipoEventoCTe)

    Busca o número da chave do evento do CT-e

    Declaration
    public static string GetChaveEventoCTe(string xml, TipoEventoCTe typeEventoCTe)
    Parameters
    Type Name Description
    System.String xml

    Conteúdo do XML para busca da chave

    TipoEventoCTe typeEventoCTe

    Tipo de evento do CTe

    Returns
    Type Description
    System.String

    Chave do evento do CT-e

    GetChaveEventoMDFe(String)

    Busca o número da chave do evento do MDF-e

    Declaration
    public static string GetChaveEventoMDFe(string xml)
    Parameters
    Type Name Description
    System.String xml

    Conteúdo do XML para busca da chave

    Returns
    Type Description
    System.String

    Chave do evento do MDF-e

    GetChaveEventoMDFe(String, TipoEventoMDFe)

    Busca o número da chave do evento do MDF-e

    Declaration
    public static string GetChaveEventoMDFe(string xml, TipoEventoMDFe typeEventoMDFe)
    Parameters
    Type Name Description
    System.String xml

    Conteúdo do XML para busca da chave

    TipoEventoMDFe typeEventoMDFe

    Tipo do evento do MDFe

    Returns
    Type Description
    System.String

    Chave do evento do MDF-e

    GetChaveEventoNF3e(String)

    Busca o número da chave do evento do NF3e

    Declaration
    public static string GetChaveEventoNF3e(string xml)
    Parameters
    Type Name Description
    System.String xml

    Conteúdo do XML para busca da chave

    Returns
    Type Description
    System.String

    Chave do evento do NF3e

    GetChaveEventoNF3e(String, TipoEventoNF3e)

    Busca o número da chave do evento do NF3e

    Declaration
    public static string GetChaveEventoNF3e(string xml, TipoEventoNF3e typeEventoNF3e)
    Parameters
    Type Name Description
    System.String xml

    Conteúdo do XML para busca da chave

    TipoEventoNF3e typeEventoNF3e

    Tipo do evento do NF3e

    Returns
    Type Description
    System.String

    Chave do evento do NF3e

    GetChaveEventoNFe(String)

    Busca o número da chave do Documento Fiscal Eletrônico no XML do Documento Fiscal Eletrônico

    Declaration
    public static string GetChaveEventoNFe(string xml)
    Parameters
    Type Name Description
    System.String xml

    Conteúdo do XML para busca da chave

    Returns
    Type Description
    System.String

    Chave do DFe (Documento Fiscal Eletrônico = NFe, NFCe, CTe, etc...)

    GetChaveEventoNFe(String, TipoEventoNFe)

    Busca o número da chave do Documento Fiscal Eletrônico no XML do Documento Fiscal Eletrônico

    Declaration
    public static string GetChaveEventoNFe(string xml, TipoEventoNFe typeEventoDFe)
    Parameters
    Type Name Description
    System.String xml

    Conteúdo do XML para busca da chave

    TipoEventoNFe typeEventoDFe

    Tipo do Evento DFe

    Returns
    Type Description
    System.String

    Chave do evento do DFe (Documento Fiscal Eletrônico = NFe, NFCe, CTe, etc...)

    ImproveInvalidCharacterExceptionInXML(String, XmlException)

    Melhorar a mensagem de exceção quando é um erro de caracteres inválidos no XML

    Declaration
    public static void ImproveInvalidCharacterExceptionInXML(string xml, XmlException ex)
    Parameters
    Type Name Description
    System.String xml

    Conteúdo do XML

    System.Xml.XmlException ex

    Exceção gerada inicialmente

    MontarChaveCTe(ref XMLUtility.ConteudoChaveDFe)

    Monta a chave do CTe com base nos valores informados

    Declaration
    public static string MontarChaveCTe(ref XMLUtility.ConteudoChaveDFe conteudoChaveDFe)
    Parameters
    Type Name Description
    XMLUtility.ConteudoChaveDFe conteudoChaveDFe

    Conteúdos do CTe necessários para montagem da chave

    Returns
    Type Description
    System.String

    Chave do CTe

    MontarChaveDFe(UFBrasil, DateTime, String, ModeloDFe, Int32, Int32, TipoEmissao, String)

    Gerar a chave dos seguintes documentos fiscais eletrônicos: NFe, NFCe, CTe, MFDe e CTeOS.

    Declaration
    public static string MontarChaveDFe(UFBrasil cUF, DateTime dhEmi, string cnpjcpf, ModeloDFe mod, int serie, int nNF, TipoEmissao tpEmis, string cNF = "")
    Parameters
    Type Name Description
    UFBrasil cUF

    UF do emitente

    System.DateTime dhEmi

    Data de emissão do documento

    System.String cnpjcpf

    CNPJ ou CPF do emitente

    ModeloDFe mod

    Código do modelo do documento fiscal eletrônicos

    System.Int32 serie

    Série do documento fiscal eletrônico

    System.Int32 nNF

    Número da nota fiscal

    TipoEmissao tpEmis

    Tipo de emissão (Tag tpEmis)

    System.String cNF

    Código numérico randômico (Deixe em branco ou nulo para que a DLL gera este código para você)

    Returns
    Type Description
    System.String

    Retorna a chave, completa, do documento fiscal eletrônico com o dígito verificar calculado e concatenado a chave

    MontarChaveDFe(ref XMLUtility.ConteudoChaveDFe)

    Monta a chave do DFE com base nos valores informados

    Declaration
    static string MontarChaveDFe(ref XMLUtility.ConteudoChaveDFe conteudoChaveDFe)
    Parameters
    Type Name Description
    XMLUtility.ConteudoChaveDFe conteudoChaveDFe

    Conteúdos do DFe necessários para montagem da chave

    Returns
    Type Description
    System.String

    Chave do DFe

    MontarChaveMDFe(ref XMLUtility.ConteudoChaveDFe)

    Monta a chave do MDFe com base nos valores informados

    Declaration
    public static string MontarChaveMDFe(ref XMLUtility.ConteudoChaveDFe conteudoChaveDFe)
    Parameters
    Type Name Description
    XMLUtility.ConteudoChaveDFe conteudoChaveDFe

    Conteúdos do MDFe necessários para montagem da chave

    Returns
    Type Description
    System.String

    Chave do MDFe

    MontarChaveNF3e(ref XMLUtility.ConteudoChaveDFe)

    Monta a chave do NF3e com base nos valores informados

    Declaration
    public static string MontarChaveNF3e(ref XMLUtility.ConteudoChaveDFe conteudoChaveDFe)
    Parameters
    Type Name Description
    XMLUtility.ConteudoChaveDFe conteudoChaveDFe

    Conteúdos do NF3e necessários para montagem da chave

    Returns
    Type Description
    System.String

    Chave do NF3e

    MontarChaveNFCom(ref XMLUtility.ConteudoChaveDFe)

    Monta a chave do CTe com base nos valores informados

    Declaration
    public static string MontarChaveNFCom(ref XMLUtility.ConteudoChaveDFe conteudoChaveDFe)
    Parameters
    Type Name Description
    XMLUtility.ConteudoChaveDFe conteudoChaveDFe

    Conteúdos do CTe necessários para montagem da chave

    Returns
    Type Description
    System.String

    Chave do CTe

    MontarChaveNFe(ref XMLUtility.ConteudoChaveDFe)

    Monta a chave da NFe com base nos valores informados

    Declaration
    public static string MontarChaveNFe(ref XMLUtility.ConteudoChaveDFe conteudoChaveDFe)
    Parameters
    Type Name Description
    XMLUtility.ConteudoChaveDFe conteudoChaveDFe

    Conteúdos da NFe necessários para montagem da chave

    Returns
    Type Description
    System.String

    Chave da NFe

    Serializar(Object, List<XMLUtility.TNameSpace>)

    Serializar o objeto (Converte o objeto para XML)

    Declaration
    public static XmlDocument Serializar(object objeto, List<XMLUtility.TNameSpace> namespaces = null)
    Parameters
    Type Name Description
    System.Object objeto

    Objeto a ser serializado

    System.Collections.Generic.List<XMLUtility.TNameSpace> namespaces

    Namespaces a serem adicionados no XML

    Returns
    Type Description
    System.Xml.XmlDocument

    XML

    Serializar(Object, XmlRootAttribute, List<XMLUtility.TNameSpace>)

    Declaration
    public static XmlDocument Serializar(object obj, XmlRootAttribute xmlRootAttribute, List<XMLUtility.TNameSpace> namespaces = null)
    Parameters
    Type Name Description
    System.Object obj
    System.Xml.Serialization.XmlRootAttribute xmlRootAttribute
    System.Collections.Generic.List<XMLUtility.TNameSpace> namespaces
    Returns
    Type Description
    System.Xml.XmlDocument
    Exceptions
    Type Condition
    System.ArgumentNullException

    Serializar<T>(T, List<XMLUtility.TNameSpace>)

    Serializar o objeto (Converte o objeto para XML)

    Declaration
    public static XmlDocument Serializar<T>(T objeto, List<XMLUtility.TNameSpace> namespaces = null)
        where T : new()
    Parameters
    Type Name Description
    T objeto

    Objeto a ser serializado

    System.Collections.Generic.List<XMLUtility.TNameSpace> namespaces

    Namespaces a serem adicionados no XML

    Returns
    Type Description
    System.Xml.XmlDocument

    XML

    Type Parameters
    Name Description
    T

    Tipo do objeto

    Serialize<T>(T, XmlRootAttribute, List<(String Namespace, String Prefix)>)

    Declaration
    static XmlDocument Serialize<T>(T obj, XmlRootAttribute xmlRootAttribute, List<(string Namespace, string Prefix)> namespaces = null)
    Parameters
    Type Name Description
    T obj
    System.Xml.Serialization.XmlRootAttribute xmlRootAttribute
    System.Collections.Generic.List<System.ValueTuple<System.String, System.String>> namespaces
    Returns
    Type Description
    System.Xml.XmlDocument
    Type Parameters
    Name Description
    T
    Exceptions
    Type Condition
    System.ArgumentNullException

    TagExist(XmlElement, String)

    Busca o nome de uma determinada TAG em um Elemento do XML para ver se existe, se existir retorna seu conteúdo da TAG.

    Declaration
    public static bool TagExist(XmlElement xmlElement, string tagName)
    Parameters
    Type Name Description
    System.Xml.XmlElement xmlElement

    Elemento do XML onde será pesquisado o Nome da TAG

    System.String tagName

    Nome da Tag que será pesquisado

    Returns
    Type Description
    System.Boolean

    Conteúdo da tag

    TagRead(XmlElement, String)

    Busca o nome de uma determinada TAG em um Elemento do XML para ver se existe, se existir retorna seu conteúdo da TAG.

    Declaration
    public static string TagRead(XmlElement xmlElement, string tagName)
    Parameters
    Type Name Description
    System.Xml.XmlElement xmlElement

    Elemento do XML onde será pesquisado o Nome da TAG

    System.String tagName

    Nome da Tag que será pesquisado

    Returns
    Type Description
    System.String

    Conteúdo da tag

    TratarFalhaXML(String)

    Tratar erros no XML antes de desserializar para evitar erro na desserialização

    Declaration
    static string TratarFalhaXML(string xml)
    Parameters
    Type Name Description
    System.String xml

    String do XML que deve sofrer a correção

    Returns
    Type Description
    System.String

    XML já corrigido

    UnescapeReservedCharacters(String)

    Tratar caracteres especiais existentes na string substituindo por escape. Caracteres substituídos: & < > \ ' Escapes utilizados: &amp; &lt; &gt; &quot; &#39;

    Declaration
    public static string UnescapeReservedCharacters(string content)
    Parameters
    Type Name Description
    System.String content

    String a ser tratada

    Returns
    Type Description
    System.String

    string com os caracteres especiais substituídos pelos seus escapes

    Examples

    var texto = "Dias \ Dias"; texto = XMLUtility.TratarCaracterEspecial(texto); MessageBox.Show(texto); // Retorno será: "Dias " Dias"

    See Also
    ClearExtraSpaces(String)

    Validate(String)

    Declaration
    static bool Validate(string xml)
    Parameters
    Type Name Description
    System.String xml
    Returns
    Type Description
    System.Boolean