Foros del Web » Programando para Internet » PHP »

xpath me muestra un array vacio

Estas en el tema de xpath me muestra un array vacio en el foro de PHP en Foros del Web. estoy intentando extraer el texto de un enlace a traves de xpath pero no lo consigo me muestra un objeto vacio. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: ...
  #1 (permalink)  
Antiguo 19/10/2017, 09:11
 
Fecha de Ingreso: agosto-2011
Mensajes: 306
Antigüedad: 8 años, 2 meses
Puntos: 5
xpath me muestra un array vacio

estoy intentando extraer el texto de un enlace a traves de xpath pero no lo consigo me muestra un objeto vacio.

Código PHP:
Ver original
  1. $dom=new DomDocument;
  2. $dom->loadHTML("www.ejemplo.com/contenido.html");
  3. $xpath=new DomXPath($dom);
  4. $element=$xpath->query("/html/body/div[3]/div[1]/span[2]/a");
  5. if(!is_null($element)) {
  6. print_r($element);
  7. }
  8. /*
  9. Array
  10. (
  11.     [0] => DOMNodeList Object
  12.         (
  13.             [length] => 0
  14.         )
  15.  
  16. )
  17. */

el html esta asi:
Código HTML:
Ver original
  1.   <body>
  2.          <div></div>
  3.          <div></div>
  4.          <div>
  5.                 <div>
  6.                           <span></span>
  7.                            <span><a href="#">texto que quiero extraer</a></span>
  8.                 </div>
  9.         </div>
  10.   </body>
  11. </html>

la ruta del xpath esta bien ya que la extraigo
  #2 (permalink)  
Antiguo 28/10/2017, 07:44
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 2 meses
Puntos: 214
Respuesta: xpath me muestra un array vacio

Tal vez esto resuelva el problema.

1. Usar loadHTMLFile
2. Realizar el query hasta div y luego extraer el elemento 2

Código PHP:
Ver original
  1. $dom->loadHTMLFile("contenido.html");
  2. $element=$xpath->query("/html/body/div")[2];
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 29/10/2017, 05:43
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 8 años, 2 meses
Puntos: 297
Respuesta: xpath me muestra un array vacio

Symfony tiene un componente para XPath que permite usar los selectores de CSS para seleccionar un elemento, y que lo puedes encontrar en: https://symfony.com/doc/current/comp..._selector.html

Yo lo uso y es muchísimo más cómodo que usar XPath a pelo.
__________________
Freelance Developer — www.rubenmartin.me PHP, SQL, Wordpress, Prestashop, Codeigniter, Laravel
RegaloConsolas — www.regaloconsolas.com Sorteo juegos, consolas y accesorios

Etiquetas: html, muestra, vacio, xpath
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:29.