monike
Abril 20, 2010, 10:39am
#1
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) {
}
monike
Abril 20, 2010, 10:57am
#3
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/
monike
Abril 20, 2010, 11:20am
#6
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);
...
}
...
monike
Abril 20, 2010, 3:59pm
#8
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
monike
Abril 20, 2010, 4:17pm
#9
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();
monike
Abril 20, 2010, 4:35pm
#10
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();