Bueno no importa, ya lo he arreglado. En cierto sentido era muy simple. Poner un flag en el método starElement(...) que me indica que estoy dentro del elemento repetido. Luego en el método endElement(...) si el flag está en true entonces concateno el contenido de characters al atributo que mapea el elemento, justo después de eso pongo el flag en false, así la próxima vez que aparezca el elemento el flag se pone en true de nuevo y el elemento se procesa concatenando el contenido. Lo único es que al principio me deja un null extraño, pero nada que no se pueda arreglar facilmente. Dejo lo que hice por si alguien alguna vez le sirve
s
tartElement: public void startElement
(String namespaceURI,
content.setLength(0);
System.
out.
println("startElement:" + qName
); //Debug!
for (int i = 0; i < attr.getLength(); i++) {
if (attr.getLocalName(i).equals("name")) {
this.title = attr.getValue(i);
}
}
if (qName.equals("info")) {
for (int i = 0; i < attr.getLength(); i++) {
if (attr.getLocalName(i).equals("type")) {
if (attr.getValue(i).equals("Genres")) {
isSetGenere = true;
}
}
}
}
}
endElement:
public void endElement
(String namespaceURI,
String qName
) throws SAXException
{
if (isSetGenere) {
this.genere += content.toString() + " ";
}
isSetGenere = false;
}
Estoy seguro que para alguien que conoce bien SAX esto es muy simple, porque en realidad es casi que el procedimiento standar. Pero apenas hace poco empecé con SAX y el parseo de XML, llegando a la conclusión, de que es muy fácil si el documento es corto, pero si va tomando mucho contenido hacer el parser es tediosísimo y un completo dolor de cabeza. Por eso digo. ¡Que viva JSON! XD
Si algún MOD está por hay bien puede dar por terminado esto.
Saludos