Inquiridor
Gerar xml com c#

Pergunta
-
Senhores , preciso da ajuda de vcs !!
O trecho abaixo :
XmlTextWriter writer = new XmlTextWriter("product.xml", System.Text.Encoding.UTF8);
writer.WriteStartDocument(true);
writer.Formatting = Formatting.Indented;
writer.Indentation = 2;
Cria um arquivo xml já com o cabeçalho
<?xml version="1.0" encoding="UTF-8" standalone="true"?>
Porém , preciso de mais uma linha abaixo desta antes de começar a criar as tags.Preciso da linha :
<TLote_GNRE xmlns="http://www.gnre.pe.gov.br">
Acredito que eu tenha que utilizar : writer.WriteStartElement("TLote_GNRE xmlns='"http://www.gnre.pe.gov.br"'");
Duas perguntas : 1 - é o WriteStartElement que devo usar neste caso ?
2 - se sim , como tratar os aspas do endereço ?..pois o comando interpreta q os aspas esta finalizando o String e espera o ) parentesis .
Todas as Respostas
-
Eduardo,
Não costumo trabalhar com a classe XmlTextWriter, geralmente uso a classe XDocument contida no namespace "System.Xml.Linq" para trabalhar com XML. Se a sua aplicação for .NET 4 talvez isso lhe ajude:
using System.Xml.Linq; XNamespace name = "http://www.gnre.pe.gov.br"; XDocument xDoc = new XDocument( new XDeclaration("1.0", "utf-8", "yes"), new XElement(name + "TLote_GNRE","Valorrrrrrrrrrrrrr")); xDoc.Save(@"C:\teste.xml");
Caso tenha se interessado pela solução acima, procure estudar sobre LINQ to XML.Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/ -
Eduardo, blz?
Você consegui gerar seu XML?
Atualmente também estou em um projeto GNRE on-line, e consegui gerar meu XML, falta validar.
caso necessite de algo!!!.
Agora estou tentando ler o arquivo de resposta, você já chegou neste ponto?
Como fez?
Atenciosamente,
Adenilson.
-
Adenilson ,
Ainda não...somente o envio.
Estou com problemas com o enconding.utf8 ,
preciso gerar com o enconding.ANSI ,
O arquivo gerado precisa ter o formato txt , correto ?
Qdo eu simplesmente salvo como txt , ele dá problema .Mas se eu copiar o conteudo ao arquivo e colar num doc novo no notepad e salvar , ele passa. Muito estranho ...Então tentei alterar na mão , o enconding para ANSI e passou.Eu precisava gerar direto como ANSI.
Voce passou por isso ? como vc esta gerando ???
GRato
-
Bom Dia!
Também estou desenvolvendo a GNRE On-line e meu arquivo de resposta com a configuração da UF está me dando dor de cabeça...
quando não retorna erro na formação retorna erro no certificado, já tentei de tudo!
Caso alguem já tenha passado dessa fase e puder me ajudar fico grata!
abrasss
-
Cara, desculpe a demora.
Acho que o arquivo deve ser gerado em formato XML e não TXT.
Estou gerando o arquivo no disco da seguinte forma:
#region Gerar XML no disco XmlSerializer xmls = new XmlSerializer(objLote.GetType()); //objLote é uma classe minha do tipo TLote_GNRE encontrada no XSD string xmlAux = string.Empty; using (MemoryStream ms = new MemoryStream()) { XmlWriterSettings settings = new XmlWriterSettings(); settings.Encoding = Encoding.UTF8; settings.Indent = true; settings.IndentChars = "\t"; settings.NewLineChars = Environment.NewLine; settings.ConformanceLevel = ConformanceLevel.Document; using (XmlWriter writer = XmlTextWriter.Create(ms, settings)) { xmls.Serialize(writer, objLote); //objLote é uma classe minha do tipo TLote_GNRE encontrada no XSD } xmlAux = Encoding.UTF8.GetString(ms.ToArray()); } if (xmlAux != string.Empty) { using (StreamWriter sw = new StreamWriter(this.DiretorioGravarArquivos)) // this.DiretorioGravarArquivos é p caminho e nome do arquivo a ser gravado { sw.Write(xmlAux); sw.Close(); } } #endregion
Blz,
Atenciosamente.
-
Dayanna,
Ainda não passamos deste ponto mas pelo que entendemos o CNPJ do certificado deve estar autorizado para utilizar no site GNRE on-line, você já viu isto?
Este arquivo de retorno recebido, você poderia nos enviar para fazermos alguns testes?
Obrigado.
Adenilson.
-
Olá Adenilson!
Este é o arquivo que envio, para solicitar um retorno com as configurações que preciso preencher e assim retornar novamente.
envio este:
<?xml version="1.0" encoding="utf-16" ?>
<TConsultaConfigUf xmlns="https://www.gnre.pe.gov.br">
<ambiente>1</ambiente>
<uf>PB</uf>
</TConsultaConfigUf>
recebo msg, de mal formação do xml de retorno. Como se o xml de configuração, que o GNRE me manda estivesse mal formado!
Obrigada!
Abrass.
-
Segue o link para um artigo muito bom: http://www.c-sharpcorner.com/UploadFile/mahesh/ReadWriteXMLTutMellli2111282005041517AM/ReadWriteXMLTutMellli21.aspx
Atenciosamente, Marcio Nogueira Cardoso Pinto.
-
Por favor, vi que o tópico é sobre geração de XML, porém foi citado acima a geração do arquivo XML para GNRE Online. Então queria aproveitar para perguntar se alguém esta conseguindo enviar GNRE online (processo completo: Envio, leitura do retorno, consulta do lote).
Pois estou tendo problemas na consulta do lote. Simplesmente recebo a mensagem de resposta: "java.rmi.RemoteException: Erro ao gerar XML de resposta". Alguém poderia me ajudar?
-
-