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.