2012-01-15 5 views
0

Récemment, j'utilise PHP pour faire face à un fichier XML.Ajouter une 'pause' dans mon code php

Mais je ne sais pas comment ajouter un 'break' dans mon code.

Le lien est http://babystory.diandian.com/rss

Je veux utiliser php pour obtenir l'article intitulé '[x] 快乐 王子' .Mais "foreach()" me donner le dernier article intitulé « [1] 狼 和 七只 小 山羊 '.

Je veux ajouter une pause dans "foreach()" afin que je puisse obtenir l'article que je veux.

Voici mon code php:

<?php 
$xml = simplexml_load_file("http://babystory.diandian.com/rss"); 

foreach($xml->children() as $child){} 

foreach($child->children() as $child2) 

foreach($child2->children() as $child3) 
{ 
    $element = $child3->getName(); 
    if($element=='title') 
    { 
    echo "<h1>" . $child3 . "</h1>"; 
    } 

    if($element=='description') 
    { 
    echo $child3; 
    } 
} 
?> 

Pourriez-vous me aider à modifier mon code.Thank beaucoup.

+0

instruction break d'utilisation simple . Si vous voulez break 2 cycles, utilisez pause 2; – designerrr

+0

Quand je cours du code, j'obtiens les trois histoires - pas une seule. Et qu'essayez-vous d'accomplir exactement? Voulez-vous quitter l'analyse une fois que vous avez touché cette histoire? –

+0

Je veux obtenir une histoire du xml.Si vous ouvrez le xml, vous pouvez voir qu'il y a trois éléments .Je veux obtenir le premier pas le dernier.Mais maintenant je ne sais pas comment y parvenir. –

Répondre

2

Si vous avez besoin du premier élément de votre flux, vous n'avez besoin d'aucune boucle foreach.

$xml = simplexml_load_file("http://babystory.diandian.com/rss"); 
$item = (array)$xml->channel->item[0]; // the article [x]快乐王子 array 

maintenant $item est un tableau des premières informations de l'article. Donc $item['title'] est [x] 快乐 王子, $item['link'] est http://babystory.diandian.com/post/2012-01-15/14770976, etc.

+0

Merci beaucoup. Vous m'avez aidé à utiliser array pour résoudre le problème et m'a également aidé à revoir la compétence de la programmation. –

0

Essayez ceci à l'intérieur de votre dernière foreach ....

-à-dire .....

foreach($child2->children() as $child3){ 
    if($child3->getName() == "title" && $child3 == "THE TITLE I WANT"){ 
     $saveItem = $child3; 
     break 3; 
    } 
} 
echo $saveItem; 
Questions connexes