2010-05-06 4 views
4

je réalise actuellement le résultat souhaité avec deux déclarations PHP:Sélection uniquement le premier élément d'un résultat XPath mis en PHP

$thisBlarg = $xmlResource->xpath('//blarg[@ID='.$someBlargID.']'); 
echo $thisBlarg[0]->name; 

Mais, ne voulant pas se contenter de la deuxième meilleure, je préfère vraiment ce être une déclaration, mais PHP n'aime pas:

echo $xmlResource->xpath('//blarg[@ID='.$someBlargID.']')[0]->name; 

Et pour une bonne raison. Mais je ne peux pas trouver un moyen de forcer une requête xpath à retourner le résultat directement. Aucune suggestion?

+0

est 'name' un élément qui est adapté aux enfants de' blarg' ou est-ce quelque chose de spécifique à PHP? –

+0

Désolé, ça aurait dû être plus clair. Mon exemple suppose que $ xmlResource a été instancié comme tel: $ xmlResource = simplexml_load_file ('someXMLfile.xml'); Ainsi, la propriété 'name' correspond à l'un des éléments du fichier XML supposé. – IkimashoZ

Répondre

3

Essayez cette

echo current(($xmlResource->xpath('//blarg[@ID='.$someBlargID.']')))->name; 
+0

Cela fonctionne! Merci de votre aide. – IkimashoZ

Questions connexes