cancel
Showing results for 
Search instead for 
Did you mean: 

XML Anfavea

Former Member
0 Kudos

Boa tarde a todos.

No cenário B2B saída Anfavea, um cliente está solicitando para alterar o formato do xml para que ele possa realizar o parse pelo seu aplicativo que transforma o xml em TextPad.

Aplicando o wiki "Sample Java Mapping to create ANFAVEA NFeExtension" o xml ficou conforme abaixo:

".

Grato pela ajuda

Att.

Taylor.

Edited by: Taylor on Mar 14, 2011 7:11 PM

Accepted Solutions (1)

Accepted Solutions (1)

henrique_pinto
Active Contributor
0 Kudos

Taylor,

confesso que não entendi bem o que vc quer fazer de diferente, olhando pra sua mensagem.

Pelo que vi de diferença, só tem uma quebra de linha entre a tag automaticamente); a gente entende como tem q ser.

Abs,

Henrique.

Former Member
0 Kudos

Olá Henrique.

Bom dia.

Isso mesmo, preciso somente adicionar essa quebra de linha !

Adicionando essa quebra de linha é possível converter para TextPad sem alterar os caractetres .

Preciso incluir essa quebra de linha na classe AnfaveaExtension. Poderia me auxiliar ?

Grato pela ajuda e atenção.

Att.

Taylor.

Edited by: Taylor on Mar 15, 2011 10:58 AM

henrique_pinto
Active Contributor
0 Kudos

Taylor,

as regras de criacao do XML no Manual de Integração da SEFAZ não permitem a utilizacao de quaisquer quebras de linhas entre as tags, mas nao fala nada sobre quebra de linhas dentro das tags. É possível que bloqueem, mas é possível dar certo tb.

De qq maneira, o teste é simples. Basta dar append em um "

" antes e outro depois na string do conteúdo da tag , no java mapping proposto no wiki.

Abs,

Henrique.

Former Member
0 Kudos

Olá Henrique.

Entendi a sua proposta, porém estou meio na dúvida do local exato onde aplicar o "/n"

Seria nesse ponto ?

for (int i = 0; i < det.getLength(); i++) {
     // get <infAdProd> original tag
     nodes =
         doc.getElementsByTagNameNS(
	     "http://www.portalfiscal.inf.br/nfe",
             "infAdProd");
     // if there is a <infAdProd> tag, change it
     if (nodes.getLength() > 0) {
         Node node = nodes.item(0);
         changeContent(
             doc,
             node,
             infAdProdFields,
             maxInfAdProdContents,
             maxInfAdProdChars);
     }
}

Obrigado.

att.

Taylor

henrique_pinto
Active Contributor
0 Kudos

Dentro do método changeContent(), basta adicionar a mesma linha antes e depois da adicao do note CData à tag.

O final do código do método ficaria assim:

...
// remove old tag content and create new CDATA tag
node.removeChild(node.getFirstChild());
CDATASection cData = doc.createCDATASection(cDataStr);

node.appendChild(doc.createTextNode("
"));  //adiciona quebra de linha
node.appendChild(cData);
node.appendChild(doc.createTextNode("
"));  //adiciona quebra de linha

return 0;

Abs,

Henrique.

Former Member
0 Kudos

Olá Henrique.

Boa tarde.

Implementei a classe conforme sua orientação e enviei para o cliente e o mesmo aprovou o XML.

Problema foi solucionado.

Muito obrigado pela sua ajuda e atenção !

Abs e boa sorte.

Att.

Taylor.

henrique_pinto
Active Contributor
0 Kudos

Mas vc fez um teste manual ou vc realmente aprovou esse XML na SEFAZ?

Abs,

Henrique.

Former Member
0 Kudos

Olá Henrique.

Boa tarde,

Estamos em produção.

Sim, o XML foi aprovado pela SEFAZ SP e o cliente consegue agora receber o XML sem problemas.

Muito obrigado pela sua ajuda e atenção.

abç.

Taylor.

Answers (1)

Answers (1)

former_member193386
Active Contributor
0 Kudos

pergunta: essa alteração que vc esta fazendo para o ANFAVEA é para o XML 2.0?

Former Member
0 Kudos

Olá Carlos.

Isso mesmo. Versão XML 2.0

Grato.

att.

Taylor

former_member193386
Active Contributor
0 Kudos

Vc se atentou para a conversao na interface para o UTF-8?

Former Member
0 Kudos

Sim, Conforme xml criado parta o B2B

<?xml version="1.0" encoding="UTF-8" ?>

- <nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">

- <NFe xmlns="http://www.portalfiscal.inf.br/nfe">

Att.

Taylor