Pregunta

¿Cuál es la sintaxis correcta para aplicar funciones de cadena (por ejemplo, " normalize-space ") en un atributo mediante la consulta xpath a continuación?

Consulta: " ./@ media "

He visto ejemplos de esto en otros lugares, pero si lo intento con la biblioteca xpath de php, no devuelve nada ...

¿Fue útil?

Solución

El uso de query () en un objeto DOMXPath se siempre da como resultado un conjunto de nodos (envuelto en un DOMNodeList objeto), nunca en una cadena.

No puede extraer los resultados de las funciones XPath. Debe consultar los nodos que desea procesar y procesarlos en PHP.

Otros consejos

Utilice evalúe () en lugar de la consulta () . Se devolverá un resultado escrito. Está disponible desde PHP 5.1.

$doc = new DOMDocument();
$xpath = new DOMXpath($doc);
$q = $xpath->evaluate('"test"');
var_dump($q);

salida:

string(4) "test"
./[normalize-space(@media)

Por favor intente esto.

¿Qué tal esto?

normalize-space(./@media)

También puedes probar: pero no creo que sea necesario aquí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top