J'ai un fichier xml dans lequel je veux stocker l'attribut rank d'un nœud dans une variable.Comment obtenir uniquement les éléments xpath requis?
J'ai essayé:
echo $var = $xmlobj->xpath("//Listing[@rank]");
en vain, il imprime juste ArrayArray.
Comment cela peut-il être fait?
if($xmlobj = simplexml_load_string(file_get_contents($xml_feed)))
{
foreach($xmlobj as $listing)
{
// echo 'Session ID: ' . $sessionId = $listing->sessionId . '<br />';
// echo 'Result Set: ' . $ResultSet = $listing->ResultSet . '<br />';
print_r($xmlobj->xpath("//Listing[@rank]"));
// $result = $xmlobj->xpath("/page/");
// print_r($result);
}
}
suggestion Henrik:
foreach($xmlobj as $listing)
{
$var = $xmlobj->xpath("//Listing[@rank]");
foreach ($var as $xmlElement)
{
echo (string)$xmlElement;
}
}
Ici, vous allez
<page>
<ResultSet id="adListings" numResults="3">
<Listing rank="1" title="Reliable Local Moving Company" description="TEST." siteHost="www.example.com">
</Listing>
Merci pour la réponse Henrik. Malheureusement, cela ne fonctionne pas, Ma mise en œuvre de votre code est ci-dessus? –
Hmm, étrange - qu'est-ce qu'il imprime? –
Juste un écran vide et pas d'erreurs –