getelementsbytagnamens - nodes php
php getElementsByTagName con un atributo especĂfico (2)
Creo que esto obtiene el primer elemento llamado <gallery>
$gallery = $objDOM->getElementsByTagName(''gallery'')->item(0);
Estoy tratando de obtener <gallery name="Third">
Creo que necesito algo equivalente a:
$gallery = $objDOM->getElementsByTagName(''gallery[@name="Third"]'')->item;
Gracias, Andy
Como su nombre indica, getElementsByTagName () solo acepta nombres de etiquetas. Pruebe XPath en su lugar
$xpath = new DOMXPath ($objDOM);
$nodeList = $xpath->query(''gallery[@name="Third"]'');
$gallery = $nodeList->item(0);
No lo probé, por lo que puede haber errores, errores tipográficos o algo así.
Esto solo es posible con DOMXPath , por ejemplo
$xp = new DOMXPath($yourDOMDocument);
$nodes = $xp->query(''//gallery[@name="Third"]'');
o al iterar sobre la lista de nodos después de la llamada a getElementsByTagName
con
foreach ($objDOM->getElementsByTagName(''gallery'') as $gallery) {
if($gallery->getAttribute(''name'') === ''Third'') {
// do something
}
}