Galera, bom dia!
Estou lendo um .xml e estou entrando na linha que eu quero, porém não consigo fazer um replace para pegar só os valores que estao dentro do CDATA
Segue o código se alguém puder me ajudar..tentei usar REGEX ,mas não consegui.Obrigada desde já!
Minha linha: Erro: Unclosed character class near index 9 ![CDATA[]]
String stringao = null;
BufferedReader reader1 = new BufferedReader(new FileReader("entrada.xml"));
while (reader1.ready()) {
stringao = reader1.readLine().replaceAll("\t", "");
if (stringao.startsWith("<![CDATA[") && !stringao.equals("")) {
String teste = stringao.replaceAll("![CDATA[]]", "");//aqui que dá erro
String cdServico = stringao.substring(0,2);
//painelDadosApoliceProposta.getJTextFieldCia().setText(cdServico);
}
}
RESOLUÇÃO:
String cdServico = null;
String stringao = "<[CDATA[51010C050000]]>";
Pattern p = Pattern.compile("[0-9][(*[0-9a-zA-Z])]");
Matcher m = p.matcher(stringao);
boolean b = false;
StringBuilder retorno = new StringBuilder();
while(b = m.find()){
retorno.append(m.group());
cdServico = retorno.substring(0,2);//51
}
//System.out.println(retorno.toString());
System.out.println(cdServico);
