Dúvida OutputStream [RESOLVIDO]

Bom dia Galera!
Gostaria de saber como faço pra que quando seja lido o meu arquivo .xml ele procure pelo inicio e pelo fim especifico.EX:


try { OutputStream wr = conn.getOutputStream(); BufferedReader reader = new BufferedReader(new FileReader("ENTRADAs.xml")); String str; while (reader.ready()) { str = reader.readLine(); wr.write(str.toString().getBytes()); } reader.close(); wr.flush(); wr.close(); } catch (IOException e) { }

Existem algumas APIs especificas pra trabalhar com XML, pode te ajudar.

http://www.inf.ufrgs.br/gppd/disc/inf01008/trabalhos/sem01-1/t2/apis_xml_java/

eu tentei usar sXtream ,mas nao estava me atendendo mt bem…se puder me dar uma dica de alguma outra q resolva essa situação.
Pensei em usar REGEX seria uma boa opção?

[quote=monike]Bom dia Galera!
Gostaria de saber como faço pra que quando seja lido o meu arquivo .xml ele procure pelo inicio e pelo fim especifico.EX:


try { OutputStream wr = conn.getOutputStream(); BufferedReader reader = new BufferedReader(new FileReader("ENTRADAs.xml")); String str; while (reader.ready()) { str = reader.readLine(); wr.write(str.toString().getBytes()); } reader.close(); wr.flush(); wr.close(); } catch (IOException e) { }[/quote]

StringUtils da apache commons salva vida… huahua eu implementei um parse de xml com essa api…

Exemplo:



String emailCliente = StringUtils.substringBetween("<email>saulods@gmail.com</email>", "<email>", "</email>");

espero ter ajudado.

[quote=monike]eu tentei usar sXtream ,mas nao estava me atendendo mt bem…se puder me dar uma dica de alguma outra q resolva essa situação.
Pensei em usar REGEX seria uma boa opção?[/quote]

Agora caso vc precise de algo mais parrudo, sou fã da xmlbeans.apache.org/

Oi saulods obrigada pela atenção…
Eu importei o import org.apache.commons.codec.binary.StringUtils;
Mas ele nao reconhece substringBetween

private static final String INICIO_TAG = “”;
private static final String FIM_TAG = “”;
BufferedReader reader = new BufferedReader(new FileReader(“ENTRADAs.xml”));
String teste = StringUtils.substringBetween(reader, INICIO_TAG, FIM_TAG);

Vamos importar da commons lang:

import org.apache.commons.lang.StringUtils/

Continuando a idéia de pegar o codigo, vc vai ler o arquivo e para cada linha vc pega a String e passa pelo parse:


...
String str;
while (reader.ready()) {  
                    str = StringUtils.substringBetween(reader.readLine(),INICIO_TAG,FIM_TAG);                   		
                    ...
}
...

Está dando galho…
Eu quero que ele leia o documento,passe até a terceira linha onde se encontra e captute todo o conteudo da linha como string

@Inicio
@Individual
8000

E to fazendo assim, ele lê a linha certa e na hora de entrar na linha String str = reader.readLine(); dá nullPointer…

OutputStream wr = conn.getOutputStream();
        BufferedReader reader = new BufferedReader(new FileReader("entrada.xml"));
            while (reader.ready()) {
            	if(reader.readLine().startsWith("<BSAUTO>")){
            		String	str = reader.readLine();
            		wr.write(str.toString().getBytes());	
            	}
            }
            reader.close();
            wr.flush();
			wr.close();
OutputStream wr = conn.getOutputStream();
        BufferedReader reader = new BufferedReader(new FileReader("entrada.xml"));
            while (reader.ready()) {
            	String	str = reader.readLine();
            	if(str.startsWith("<BSAUTO>")){
            		wr.write(str.toString().getBytes());	
            	}
            }
            reader.close();
            wr.flush();
			wr.close();