Inserir palabra "Ok" no início de um XML e linha em branco no final do XML [RESOLVIDO]

8 respostas
Thiago_de_Paula_Bese

Boa tarde.

Pessoal, queria saber se tem como inserir uma palavra em um arquivo xml já criado (um arquivo salvo em alguma pasta, por exemplo).
Para ser mais claro, aqui onde trabalho, me pediram para inserir um “OK” no inicio do XML toda vez que o processamento for com sucesso. Pediram também uma linha em branco no final do XML para que o Progress não reclamasse do XML que vou enviar para eles.

Pesquisei no google mas nem encontrei nada que fosse parecido com este tipo de caso.

Alguém sabe qual API utilizar, algum exemplo simples de uma acrescentação de uma palavra num XML simples?

Qualquer dica agradeço… :smiley:

8 Respostas

E

Você tem um arquivo

<xml>
</xml>

que você quer transformar em

OK
<xml>
</xml>

Que tosco, mas é um requisito, não? Se for, simplesmente use um FileReader (para ler o arquivo XML pronto) e um FileWriter (para gravar a linha OK, copiar o resto do XML, e então pôr a tal da linha em branco.

Thiago_de_Paula_Bese

entanglement:
Você tem um arquivo

<xml>
</xml>

que você quer transformar em

OK
<xml>
</xml>

Que tosco, mas é um requisito, não? Se for, simplesmente use um FileReader (para ler o arquivo XML pronto) e um FileWriter (para gravar a linha OK, copiar o resto do XML, e então pôr a tal da linha em branco.

Bem estranho mesmo! Mas afinal, é uma forma “padronizada” que eles utilizam, ou seja, não seria bom eu mudar isso pra não ficar confuso pra eles, tipo XMLs diferentes com resultados de processamento com sucesso. Mas enfim, vou tentar montar um código aqui de exemplo pra efetuar esta arte que eles inventaram…hehehe

Valeu! :smiley:

Thiago_de_Paula_Bese

Consegui criar o Ok seguido do xml!

Segue o código (vai que alguém precise desse tipo de arte…kkk):

package atualizaxml;

import java.io.*;

public class AtualizaXML {

    public static void main(String[] args) throws FileNotFoundException, IOException 
    {
        FileReader fr = new FileReader("D:\\param.xml");
        BufferedReader br = new BufferedReader(fr);
        String linha = null;
        
        
        FileWriter fw = new FileWriter("D:\\param-novo.xml");
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write("Ok");
        while((linha = br.readLine()) != null)
        {
            bw.write(linha);
        }
        
        
        bw.close();
    }
}

Até ai blza, “Resolvido”…hehe

Mas como eu coloco uma linha em branco no final do arquivo? é parecido com um “\n…\r”? Desculpa a ignorancia…=/

Desde já agradeço :smiley:

Rodrigo_Sasaki

bw.write(System.getProperty("line.separator"));Só tome cuidado aí com as exceções, se algo der errado aí, você não fechou nada.

Thiago_de_Paula_Bese

Entendi, então essa linha resolve o problema da arte: ]bw.write(System.getProperty("line.separator"));

Uma dúvida, se por exemplo, eu colocasse isso: bw.newLine();, resolveria também??

Apenas perguntei porque fuçando nas funções que o netbeans mostrava para o bw, achei este tipo de método da classe BufferedReader!

Valeuu… :smiley:

gomesrod

Thiago de Paula Beserra:
entanglement:
Você tem um arquivo

<xml>
</xml>

que você quer transformar em

OK
<xml>
</xml>

Que tosco, mas é um requisito, não? Se for, simplesmente use um FileReader (para ler o arquivo XML pronto) e um FileWriter (para gravar a linha OK, copiar o resto do XML, e então pôr a tal da linha em branco.

Bem estranho mesmo! Mas afinal, é uma forma “padronizada” que eles utilizam, ou seja, não seria bom eu mudar isso pra não ficar confuso pra eles, tipo XMLs diferentes com resultados de processamento com sucesso. Mas enfim, vou tentar montar um código aqui de exemplo pra efetuar esta arte que eles inventaram…hehehe

Valeu! :smiley:

Só que aí o XML deixa de ser válido!
Você podia dar a idéia de mudar apenas o NOME do arquivo para .OK

Thiago_de_Paula_Bese

gomesrod:
Thiago de Paula Beserra:
entanglement:
Você tem um arquivo

<xml>
</xml>

que você quer transformar em

OK
<xml>
</xml>

Que tosco, mas é um requisito, não? Se for, simplesmente use um FileReader (para ler o arquivo XML pronto) e um FileWriter (para gravar a linha OK, copiar o resto do XML, e então pôr a tal da linha em branco.

Bem estranho mesmo! Mas afinal, é uma forma “padronizada” que eles utilizam, ou seja, não seria bom eu mudar isso pra não ficar confuso pra eles, tipo XMLs diferentes com resultados de processamento com sucesso. Mas enfim, vou tentar montar um código aqui de exemplo pra efetuar esta arte que eles inventaram…hehehe

Valeu! :smiley:

Só que aí o XML deixa de ser válido!
Você podia dar a idéia de mudar apenas o NOME do arquivo para .OK

Realmente gomesrod.

Na verdade eles me passam 2 caminhos de XML, meu sistema java processa esses XMLs e os sobrescrevem, para facilitar a vida do cliente. Mas sua idéia é bem legal, afinal o arquivo XML ficaria válido, conforme sua citação.

Valeu pela dica! :smiley:

Thiago_de_Paula_Bese

Entendi, então essa linha resolve o problema da arte: ]bw.write(System.getProperty("line.separator"));

Uma dúvida, se por exemplo, eu colocasse isso: bw.newLine();, resolveria também??

Apenas perguntei porque fuçando nas funções que o netbeans mostrava para o bw, achei este tipo de método da classe BufferedReader!

Valeuu… :smiley:

Deu certo também com esse código:

bw.newLine();

[RESOLVIDO]

Valeu gente!!

Criado 19 de junho de 2012
Ultima resposta 20 de jun. de 2012
Respostas 8
Participantes 4