2012-03-30 11 views
10

Hola estoy tratando de insertar un nuevo elemento secundario en un elemento raíz del documento así:Inserción elemento de un documento utilizando Jsoup

Document doc = Jsoup.parse(doc); 
    Elements els = doc.getElementsByTag("root"); 
    for (Element el : els) { 
     Element j = el.appendElement("child"); 
    } 

En el código anterior sólo una etiqueta raíz se encuentra en el documento de manera esencialmente el ciclo solo se ejecutará una vez.

De todos modos, el elemento se inserta como el último elemento del elemento raíz "raíz".

¿Hay alguna manera de insertar un elemento secundario como primer elemento?

Ejemplo:

<root> 
<!-- New Element must be inserted here --> 
<child></child> 
<child></chidl> 
<!-- But it is inserted here at the bottom insted --> 
</root> 
+0

puede publicar un ejemplo simple e de los resultados que intentas lograr? –

+0

@ B. Anderson He actualizado mi publicación. –

Respuesta

14

ver si esto le ayuda a cabo:

String html = "<root><child></child><child></chidl></root>"; 
    Document doc = Jsoup.parse(html); 
    doc.select("root").first().children().first().before("<newChild></newChild>"); 
    System.out.println(doc.body().html()); 

Salida:

<root> 
<newchild></newchild> 
<child></child> 
<child></child> 
</root> 

de descifrar, que dice:

  1. Seleccione los elementos raíz
  2. agarrar el primer elemento raíz
  3. agarre a los niños de ese elemento raíz
  4. Coge el primer hijo
  5. Antes de ese niño insertar este elemento
4

Muy similar, Utilice prependElement() en lugar de appendElement():

Cuestiones relacionadas