[RESOLVIDO]NFe - Problema com o XML

Boa tarde.

Estou com um problema no XML. Acredito que seja simples para vocês, porem para mim está complicado.
Pesquisei um monte já e não achei nada da maneira que quero fazer.

É o seguinte:

Tenho essa classe que está editando o cabeçalho do XML, este XML é gerado por outro sistema em VB.
Eu edito e ele funciona, mas n sei como salvar os dados dentro do XML. Na verdade quero é sobrescrever os arquivos originais do XML mantendo só o nome do arquivo.

package classesNfe;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class EditarCabecalho {

	private String arquivoAtualizado;
	
	public String cabecalhoEnviar(String arquivoXml){
		 String linha = null;
	try {
		BufferedReader in = new BufferedReader(new InputStreamReader(
				new FileInputStream(arquivoXml), "UTF-8"));
		
		while ((linha = in.readLine()) != null) {
			StringBuilder enderecoApagar = new StringBuilder(linha);
			enderecoApagar = enderecoApagar.delete(4, 47);
			String xmlFinal = "</enviNFe>";
			arquivoXml = enderecoApagar.toString();
			arquivoAtualizado = "<enviNFe xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"2.00\">"
			+"<idLote>1</idLote>"+arquivoXml.concat(xmlFinal);
			}
		in.close();
	} catch (Exception e) {
			e.printStackTrace();
			}
		return arquivoAtualizado;
	}
}

Se puderem me ajudar ficarei grato e se tiverem outras críticas a maneira que fiz podem falar.

[quote=Cledsonjr]Boa tarde.

Estou com um problema no XML. Acredito que seja simples para vocês, porem para mim está complicado.
Pesquisei um monte já e não achei nada da maneira que quero fazer.

É o seguinte:

Tenho essa classe que está editando o cabeçalho do XML, este XML é gerado por outro sistema em VB.
Eu edito e ele funciona, mas n sei como salvar os dados dentro do XML. Na verdade quero é sobrescrever os arquivos originais do XML mantendo só o nome do arquivo.

package classesNfe;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class EditarCabecalho {

	private String arquivoAtualizado;
	
	public String cabecalhoEnviar(String arquivoXml){
		 String linha = null;
	try {
		BufferedReader in = new BufferedReader(new InputStreamReader(
				new FileInputStream(arquivoXml), "UTF-8"));
		
		while ((linha = in.readLine()) != null) {
			StringBuilder enderecoApagar = new StringBuilder(linha);
			enderecoApagar = enderecoApagar.delete(4, 47);
			String xmlFinal = "</enviNFe>";
			arquivoXml = enderecoApagar.toString();
			arquivoAtualizado = "<enviNFe xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"2.00\">"
			+"<idLote>1</idLote>"+arquivoXml.concat(xmlFinal);
			}
		in.close();
	} catch (Exception e) {
			e.printStackTrace();
			}
		return arquivoAtualizado;
	}
}

Se puderem me ajudar ficarei grato e se tiverem outras críticas a maneira que fiz podem falar.
[/quote]

Boa noite, não entendi o que você está fazendo…
Você esta lendo um arquivo XML com BufferedReader? Porque não utiliza JDOM pois quaisquer problemas relacionados a tag’s e elementos o JDOM mostra com clareza estas divergencias e fica mais facil de tratar. É um pouco mais complexo, porém vale a pena…

Agora se você está utilizando BufferedReader e quer concatenar apenas com sua String, utilize o BufferedWriter para gerar um arquivo com o mesmo nome assim o mesmo ira sobrescrever.

Abraço

Muito obrigado alxdre.pestana .

A principio só quero fazer a concatenação mesmo e remover uma parte da String, mas irei olhar o JDOM.