Prezados,
Como faço para transformar a String de retorno da NFe em XML e obter determinado nó deste XML?
Desde já agradeço a ajuda.
Prezados,
Como faço para transformar a String de retorno da NFe em XML e obter determinado nó deste XML?
Desde já agradeço a ajuda.
Alguém?
Na verdade eu recebo este retorno do envio do lote:
<retEnviNFe xmlns="http://www.portalfiscal.inf.br/nfe"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
versao="2.00">
<tpAmb>2</tpAmb>
<verAplic>2.01</verAplic>
<cStat>103</cStat>
<xMotivo>Lote recebido com sucesso</xMotivo>
<cUF>29</cUF>
<dhRecbto>2011-07-26T00:36:35</dhRecbto>
<infRec>
<nRec>291400000756287</nRec>
<tMed>1</tMed>
</infRec>
</retEnviNFe>
O que desejo é obter a TAG “nRec” ( <nRec>291400000756287</nRec> ) para enviar para a classe recRecepção, porém fiz alguns testes e não tive muito sucesso.
Se puder ajudar mais uma vez ficarei muito grato.
Código que estou tentando utilizar mas não estou obtendo sucesso.
NFeRetRecepcao nFeRetRecepcao = new NFeRetRecepcao();
try {
//Document document = documentFactory(respostaSolicitacao);
//String numeroDoRecibo = document.getDocumentElement().getElementsByTagName("nRec").toString();
// create an input stream
ByteArrayInputStream xmlIn = new ByteArrayInputStream(respostaSolicitacao.getBytes());
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
// get a document builder from the pool
DocumentBuilder builder = domFactory.newDocumentBuilder();
// use the DocumentBuilder to parse the XML input.
Document doc = builder.parse(xmlIn);
String numeroDoRecibo = doc.getDocumentElement().getElementsByTagName("nRec").toString();
nFeRetRecepcao.NfeConsultaRecepcaoLote(numeroDoRecibo);
} catch (Exception e) {
System.out.println(e.toString());
}
Fiz algumas alterações mas ainda não funcionou:
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse(XMLRespostaEnvio.get(1).toString());
String numeroDoRecibo = doc.getDocumentElement().getElementsByTagName("nRec").toString();
nFeRetRecepcao.NfeConsultaRecepcaoLote(numeroDoRecibo);
Alguém pode ajudar é que já perdi um tempo e não consigo fazer isto funcionar.
Consegui fazer funcionar com o seguinte código:
String xmlstring = respostaSolicitacao;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder db = factory.newDocumentBuilder();
InputSource inStream = new InputSource();
inStream.setCharacterStream(new StringReader(xmlstring));
Document doc1 = db.parse(inStream);
String numeroDoRecibo = doc1.getDocumentElement().getElementsByTagName("nRec").item(0).getNodeValue();
nFeRetRecepcao.NfeConsultaRecepcaoLote(numeroDoRecibo);
Porém estou obtendo as tags, mas os valores não. Existe algum erro no código?
Abaixo a imagem do atributo como esta no momento que estou debugando: