Estoy realizando una aplicación que gestiona la búsqueda y descarga de podcasts. Para la búsqueda, necesito extraer los enlaces, para ello utilizo el HTMLEditorKit y extraigo las etiquetas <A> de la siguiente forma:
(El parámetro de entrada es el documento html convertido en string.)
Código:
Pero cuando quiero extraer los enlaces de tipo <LINK> la función retorna null.public static LinkedList getLinks(String texto) { LinkedList result = new LinkedList(); try { HTMLEditorKit kit = new HTMLEditorKit(); HTMLDocument doc = (HTMLDocument)kit.createDefaultDocument(); doc.putProperty("IgnoreCharsetDirective", Boolean.TRUE); StringReader sr = new StringReader(texto); kit.read(sr, doc, 0); HTMLDocument.Iterator it = doc.getIterator(HTML.Tag.A); while (it.isValid()) { SimpleAttributeSet s = (SimpleAttributeSet)it.getAttributes(); String link = (String)s.getAttribute(HTML.Attribute.HREF); if (link != null) { // Agregamos el resultado a la lista if(link.indexOf("localhost")<=0) { result.add(link); }//if }//if it.next(); }//while }//try catch (Exception ex) { System.out.println(ex); return null; }//catch return result; }//getLinks
He comprobado si (HTMLDocument.Iterator it = doc.getIterator(HTML.Tag.A);) it tenía algún valor pero es nulo, así que ahí está el problema pero no sé cómo solucionarlo.
He mirado en google pero todos los ejemplos están hechos con la etiqueta <A>.
Un saludo y gracias de antemano