Não consigo imprimir todos meus xml

estou aprendendo xml aqui, e não estou conseguindo imprimir todos xml que está no meu arquivo vendas.xml. No caso só consigo recuperar a primeira posição…

	//Cria fabrica de documento.
	DocumentBuilderFactory fabrica = DocumentBuilderFactory.newInstance();
	
	//Cria documento
	DocumentBuilder builder = fabrica.newDocumentBuilder();
	
	//ler meu arquivo xml e salva em uma variavel.
	Document documento = builder.parse("src/vendas.xml");
	

	//Percorrendo todos Produtos.
	NodeList produtos = documento.getElementsByTagName("produtos");
	for(int i = 0; i< produtos.getLength(); i++ ) {
		Element produto = (Element) produtos.item(i); //pega o elemento

		int codigo = Integer.parseInt(produto.getElementsByTagName("codigo").item(i).getTextContent());
		String nome = produto.getElementsByTagName("nome").item(i).getTextContent();
		double preco = Double.parseDouble(produto.getElementsByTagName("preco").item(i).getTextContent());
		
		Produto produtoValue = new Produto(codigo, nome,preco);
		
		System.out.println(produtoValue);
	}

meu xml

<?xml-stylesheet type="text/xml" href="src/template.xsl"?>
<venda moeda="real" xsd:noNamespaceSchemaLocation="venda2.xsd"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance">
	<formaDePagamento>Cartao</formaDePagamento>
	<produtos>
		<produto>
			<codigo>1</codigo>
			<nome>Livro da casa do código</nome>
			<preco>59.90</preco>
		</produto>
		<produto>
			<codigo>2</codigo>
			<nome>Livro de java</nome>
			<preco>59.90</preco>
		</produto>
		<produto>
			<codigo>3</codigo>
			<nome>JavaEE</nome>
			<preco>59.90</preco>
		</produto>
	</produtos>
</venda>