2012-04-03 16 views
7

Tengo una tabla html con un ID de thetable. Tiene (según FireBug), una etiqueta TBODY sin nombre y una etiqueta TR sin nombre. Las tres etiquetas TD dentro de las que quiero acceder no tienen nombre. ¿Hay algún selector de CSS que pueda usar para hacer referencia a estas etiquetas tr sin nombre?Selector de CSS para un TD en una tabla con un ID

que he probado:

table#thetable:nth-child(1)

Pero esto no selecciona esas etiquetas.

Estoy usando jsoup.org para obtener estos datos en cadenas. Me gustaría tomar el texto de cada DT en la tabla (del que sé el nombre) y poner todo eso en una matriz.

Algo como esto:

// Pseudocode for all the TDs into an array 
Elements strings = doc.select("table#thetable: children"); 
+0

nth-child en su ejemplo se refiere a las tablas que se encuentran enésimo hijo de su padre (no los hijos de la mesa). – Chalky

Respuesta

4

Si usted está buscando simplemente para obtener todos sus elementos td, esto debería ser suficiente:

Elements elems = doc.select("table#thetable td"); 

A continuación, recorra elems, recuperar el texto de sus td s y los pusieron en la matriz.

Además, probablemente debería utilizar una lista de matriz en lugar de una matriz si usted no sabe o no puede controlar el número de células de la mesa tendrá:

Elements elems = doc.select("table#thetable td"); 
List<String> strings = new ArrayList<String>(); 

for (Element e : elems) { 
    strings.add(e.text()); 
} 
+0

Gracias. No necesitó agregar esa segunda parte :) Simplemente tuve problemas para averiguar cómo obtener todos los elementos de la tabla con el selector de CSS en Jsoup.Gracias de nuevo y lo siento, debería haber sido claro sobre la parte de análisis desde el principio. –

+0

No hay problema. No he escrito ningún código Java para siempre, así que aprovecho esta oportunidad para ... revisar;) – BoltClock

4

Lo que desea acceder a todas las células?

#thetable td 

¿O simplemente quiere acceder a la primera fila?

#thetable tr:first-of-type td 
+0

Probablemente también debería decir que estoy analizando HTML en Java usando [Jsoup] (http://www.jsoup.org). ¿Producirá eso una matriz entonces? –

+1

@Mark Lyons: Sí. Aunque no coincidan elementos, la lista debe estar vacía, pero no nula. – BoltClock

+0

Lo siento muchachos, debería haber sido más específico. Por favor, eche un vistazo a la edición que acabo de hacer. –

1

Creo que esto es lo que eres buscando. Esto apunta a la primera fila de celdas TD, excluye la fila de encabezado:

http://jsfiddle.net/ckaufman/hGRwc/1/

table#thetable tr:nth-child(1) td{ /*Edit Here*/ } 

he incluido algunos otros ejemplos en el css para usted

Cuestiones relacionadas