Cómo seleccionar la siguiente etiqueta hermano / xml usando xpath

Tengo un archivo HTML (de Newegg) y su HTML está organizado como a continuación. Todos los datos en su tabla de especificaciones son ‘ desc ‘ mientras que los títulos de cada sección están en ‘ nombre. ‘A continuación hay dos ejemplos de datos de las páginas de Newegg.

 Brand Intel   Series Core i5   Cores 4   Socket LGA 1156 

  Brand AMD   Series Phenom II X4   Cores 4   Socket Socket AM3  

Al final, me gustaría tener una clase para una CPU (que ya está configurada) que consta de una marca, serie, núcleos y tipo de socket para almacenar cada uno de los datos. Esta es la única forma en que se me ocurre hacer esto:

 if(parsedDocument.xpath(tr/td[@class="name"])=='Brand'): CPU.brand = parsedDocument.xpath(tr/td[@class="name"]/nextsibling?).text 

Y haciendo esto por el rest de los valores. ¿Cómo puedo lograr el nextsibling y hay una manera más fácil de hacer esto?

¿Cómo puedo lograr el nextsibling y hay una manera más fácil de hacer esto?

Puede usar :

 tr/td[@class='name']/following-sibling::td 

pero prefiero usarlo directamente :

 tr[td[@class='name'] ='Brand']/td[@class='desc'] 

Esto supone que :

  1. El nodo contextual, contra el cual se evalúa la expresión XPath, es el padre de todos los elementos tr , no se muestra en su pregunta.

  2. Cada elemento tr tiene solo un td con el atributo de class valorado como 'name' y solo un td con el atributo de class valorado como 'desc' .

Pruebe el following-sibling eje following-sibling ( following-sibling::td ).