E aí galera, tranquilo?
Gostaria de tirar uma dúvida, tenho um arquivo xml que ele traz blocos de retornos dinâmicos, e eu tenho que alinhá-los da seguinte forma:
4 primeiros blocos contendo os dados do parâmetro qual eu passei, caso não, os quatros blocos devem ser vazios;
6 últimos blocos contendo informações do restante dos blocos;
Sendo que os primeiros blocos podem trazer informações quais não se referem ao parâmetro passado, além que os blocos contém iguais, e eu apenas identifico a separação de cada um por apenas duas tags por exemplo
[code]
conteudo
conteudo
Caso eu queira retornar qualquer coisa, eu preciso apenas passar o arquivo, a tag e a posição da tag que eu quero, sendo que estou com dificuldades para a parte do alinhamento dos dados.
Método que percorre as tags:
public static String getRetorno(String pXML, String pTag, int pPosicao) {
String vRetorno = "";
int vRowBegin = -1;
int vPosicaoAtual = 0;
// iterador que verifica se existe a posição desejada
while (vPosicaoAtual < pPosicao) {
vRowBegin = pHTML.indexOf("<row>", vRowBegin + 1);
if (vRowBegin == -1) {
vPosicaoAtual = pPosicao;
} else {
vPosicaoAtual++;
}
}// fim do while
int vRowEnd = pHTML.indexOf("</row>", vRowBegin);
if(vRowEnd > -1) {
// com o row definido, pegar a tag referente ao retorno desejado
String vTemp = pHTML.substring(vRowBegin, vRowEnd);
String vTag = "<" + pTag + ">";
String vTag2 = "</" + pTag + ">";
int vTagBegin = vTemp.indexOf(vTag);
int vTagEnd = vTemp.indexOf(vTag2);
if ((vTagBegin > -1) && (vTagEnd > vTagBegin)) {
vRetorno = vTemp.substring(vTagBegin + vTag.length(), vTagEnd);
}
} else {
return vRetorno;
}
return vRetorno;
}
Bem, qualquer ajuda já é de bom grado!