I'm trying to read an XML in Java to get data from an NF-e.
I tried this way to try to get only the product code to test more without success:
public void testeaa(String xml) throws DocumentException {
Document document = getDocumento(xml);
Element root = document.getRootElement();
Iterator<Element> i = root.elementIterator();
i.forEachRemaining(element -> {
if (element.getQualifiedName().equals("det nItem")) {
System.out.println("COdProd: " + element.getText());
}
});
}
public Document getDocumento(String xml) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(xml);
return document;
}
XML Example:
<?xml version="1.0" encoding="UTF-8"?>
<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10">
<NFe>
<infNFe Id="NFe41180710930674000149550010000005561136042494" versao="3.10">
<ide>
<cUF>41</cUF>
<cNF>13604249</cNF>
<natOp>Venda</natOp>
<indPag>0</indPag>
<mod>55</mod>
<serie>1</serie>
<nNF>556</nNF>
<dhEmi>2018-07-31T15:04:00-03:00</dhEmi>
<dhSaiEnt>2018-07-31T15:04:00-03:00</dhSaiEnt>
<tpNF>1</tpNF>
<idDest>1</idDest>
<cMunFG>4115002</cMunFG>
<tpImp>1</tpImp>
<tpEmis>1</tpEmis>
<cDV>4</cDV>
<tpAmb>1</tpAmb>
<finNFe>1</finNFe>
<indFinal>1</indFinal>
<indPres>1</indPres>
<procEmi>0</procEmi>
<verProc>0.0.1</verProc>
</ide>
<emit>
<CNPJ>10930674000149</CNPJ>
<xNome>COMERCIO DE PRODUTOS AGROPECUARIOS JSM EIRELI</xNome>
<xFant>CASA DO AGRICULTOR</xFant>
<enderEmit>
<xLgr>AV PARANA</xLgr>
<nro>996</nro>
<xBairro>CENTRO</xBairro>
<cMun>4115002</cMun>
<xMun>MARILENA</xMun>
<UF>PR</UF>
<CEP>87960000</CEP>
<cPais>1058</cPais>
<xPais>BRASIL</xPais>
<fone>4434481934</fone>
</enderEmit>
<IE>9048560455</IE>
<CRT>1</CRT>
</emit>
<dest>
<CPF>82726647987</CPF>
<xNome>LUIS CARLOS BONOME</xNome>
<enderDest>
<xLgr>SITIO SAO PAULO</xLgr>
<nro>S/N</nro>
<xBairro>SEIS CASAS</xBairro>
<cMun>4111308</cMun>
<xMun>ITAUNA DO SUL</xMun>
<UF>PR</UF>
<CEP>87980000</CEP>
<cPais>1058</cPais>
<xPais>BRASIL</xPais>
<fone>4488326605</fone>
</enderDest>
<indIEDest>9</indIEDest>
</dest>
<det nItem="1">
<prod>
<cProd>5409</cProd>
<cEAN />
<xProd>BRUCELINA B-19 30 ML (15 DOSES)</xProd>
<NCM>30023080</NCM>
<CFOP>5102</CFOP>
<uCom>uni</uCom>
<qCom>1.0000</qCom>
<vUnCom>18.200000</vUnCom>
<vProd>18.20</vProd>
<cEANTrib />
<uTrib>uni</uTrib>
<qTrib>1.0000</qTrib>
<vUnTrib>18.200000</vUnTrib>
<indTot>1</indTot>
</prod>
<imposto>
<vTotTrib>0.76</vTotTrib>
<ICMS>
<ICMSSN102>
<orig>0</orig>
<CSOSN>103</CSOSN>
</ICMSSN102>
</ICMS>
<IPI>
<cEnq>301</cEnq>
<IPINT>
<CST>52</CST>
</IPINT>
</IPI>
<PIS>
<PISNT>
<CST>07</CST>
</PISNT>
</PIS>
<COFINS>
<COFINSNT>
<CST>07</CST>
</COFINSNT>
</COFINS>
</imposto>
</det>
<det nItem="2">
<prod>
<cProd>3997</cProd>
<cEAN />
<xProd>BRUSKY ADULTO 15KG</xProd>
<NCM>23091000</NCM>
<CFOP>5102</CFOP>
<uCom>uni</uCom>
<qCom>1.0000</qCom>
<vUnCom>39.900000</vUnCom>
<vProd>39.90</vProd>
<cEANTrib />
<uTrib>uni</uTrib>
<qTrib>1.0000</qTrib>
<vUnTrib>39.900000</vUnTrib>
<indTot>1</indTot>
</prod>
<imposto>
<vTotTrib>3.63</vTotTrib>
<ICMS>
<ICMSSN102>
<orig>0</orig>
<CSOSN>103</CSOSN>
</ICMSSN102>
</ICMS>
<IPI>
<cEnq>301</cEnq>
<IPINT>
<CST>52</CST>
</IPINT>
</IPI>
<PIS>
<PISNT>
<CST>07</CST>
</PISNT>
</PIS>
<COFINS>
<COFINSNT>
<CST>07</CST>
</COFINSNT>
</COFINS>
</imposto>
</det>
<det nItem="3">
<prod>
<cProd>4544</cProd>
<cEAN />
<xProd>BAYTICOL POUR-ON 1L</xProd>
<NCM>38089999</NCM>
<CFOP>5102</CFOP>
<uCom>uni</uCom>
<qCom>1.0000</qCom>
<vUnCom>98.000000</vUnCom>
<vProd>98.00</vProd>
<cEANTrib />
<uTrib>uni</uTrib>
<qTrib>1.0000</qTrib>
<vUnTrib>98.000000</vUnTrib>
<indTot>1</indTot>
</prod>
<imposto>
<vTotTrib>4.12</vTotTrib>
<ICMS>
<ICMSSN102>
<orig>0</orig>
<CSOSN>103</CSOSN>
</ICMSSN102>
</ICMS>
<IPI>
<cEnq>301</cEnq>
<IPINT>
<CST>52</CST>
</IPINT>
</IPI>
<PIS>
<PISNT>
<CST>07</CST>
</PISNT>
</PIS>
<COFINS>
<COFINSNT>
<CST>07</CST>
</COFINSNT>
</COFINS>
</imposto>
</det>
<total>
<ICMSTot>
<vBC>0.00</vBC>
<vICMS>0.00</vICMS>
<vICMSDeson>0.00</vICMSDeson>
<vBCST>0.00</vBCST>
<vST>0.00</vST>
<vProd>156.10</vProd>
<vFrete>0.00</vFrete>
<vSeg>0.00</vSeg>
<vDesc>0.00</vDesc>
<vII>0.00</vII>
<vIPI>0.00</vIPI>
<vPIS>0.00</vPIS>
<vCOFINS>0.00</vCOFINS>
<vOutro>0.00</vOutro>
<vNF>156.10</vNF>
<vTotTrib>8.51</vTotTrib>
</ICMSTot>
</total>
<transp>
<modFrete>1</modFrete>
</transp>
<cobr>
<dup>
<nDup>1</nDup>
<dVenc>2018-08-24</dVenc>
<vDup>156.10</vDup>
</dup>
</cobr>
</infNFe>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#NFe41180710930674000149550010000005561136042494">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>eBgQo1KZj/0m4GrTiqMZ3KPmM1k=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>XEPqu9honydrDj0LYZFnJbhGAx4CIhxZPyNh/9iyZzp4UD3zPP3oSh6y6tj9hD9Hltitv3tpK3VqtUgUddfTY2GFKQ9q0xrAm82bGhNzk2tGDed1HIMOb7uLaIOdb59oFkwnmoG4q4XgWuD1h8JZ1wscYo4gyBvUPyHV0QmwscszGivGYamqh0opEgpDaB8Gk/MyO1GWODCdmnETIGZULxS3XYw1PNZAnKfOCW8d6WkY3l8owQNR1WipA0HbTH95DBU0HYjl9/h/6fyvUc4ekEoWiUkAaVbm+XNIdjkbY+9nQAOoNlA7GKzava9J9cHPVuikFoAv+rjP6EGPZYua3g==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</NFe>
<protNFe versao="3.10">
<infProt>
<tpAmb>1</tpAmb>
<verAplic>PR-v3_9_5</verAplic>
<chNFe>41180710930674000149550010000005561136042494</chNFe>
<dhRecbto>2018-07-31T15:04:04-03:00</dhRecbto>
<nProt>141180128267723</nProt>
<digVal>eBgQo1KZj/0m4GrTiqMZ3KPmM1k=</digVal>
<cStat>100</cStat>
<xMotivo>Autorizado o uso da NF-e</xMotivo>
</infProt>
</protNFe>
</nfeProc>
Would you have any ideas?