Estou tentando pegar tag CFOP de NFe e colocar num ArrayLista, consegui pegar, mas está mostrando apenas a tag ao invés dos valores.
Gostaria de exibir os valores.
Usei o seguinte trecho para pegar.
NodeList list = document.getElementsByTagName("CFOP");
ArrayList<String> nodes = (ArrayList<String>) IntStream.range(0, list.getLength())
.mapToObj(list::item)
.map(n -> n.getNodeName())
.collect(Collectors.toList());
Acho que o problema é essa linha:
.map(n -> n.getNodeName())
Você está pegando apenas o nome do Node, ou seja, a tag.
Para pegar o valor use:
.map(n -> n.getNodeValue())
@AbelBueno, usando getNodeValue(), ele retornou null, ai achei um exemplo parecido usando com o getTextContent(), ai deu certo.
Muito Obrigada!!!
Vou colocar o trecho atualizado.
NodeList cfop = document.getElementsByTagName(“CFOP”);
ArrayList nodes = (ArrayList) IntStream.range(0, cfop.getLength())
.mapToObj(cfop::item)
.map(n -> n.getTextContent())
.collect(Collectors.toCollection(ArrayList::new));
System.out.println(nodes);