2010-08-05 10 views
0

Je connais donc le chemin exact que le noeud que je tenterais de supprimer. J'itère à travers plusieurs fichiers xml pour mettre à jour une partie du contenu. Pour ajouter du nouveau contenu, je dois d'abord supprimer le contenu qui existe déjà.Comment supprimer un noeud s'il existe avec simpleXML

Voici le code que je tentais d'utiliser, mais je reçois une erreur Parse: erreur de syntaxe, T_UNSET inattendue

public function hint_insert() { 

    foreach($this->hints as $key => $value) { 

     $filename = $this->get_qid_filename($key); 

     echo "$key - $filename - $value[0]<br>"; 

     //insert hint within right node using simplexml 
     $xml = simplexml_load_file($filename); 

     foreach ($xml->PrintQuestion as $PrintQuestion) { 

      if (unset($xml->PrintQuestion->content->multichoice->feedback->hint->Passage)) { 

       $xml->PrintQuestion->content->multichoice->feedback->hint->addChild('Passage', $value[0]); 

      } else { 

       $xml->PrintQuestion->content->multichoice->feedback->hint->addChild('Passage', $value[0]); 

      } 

     } 

    } 

Répondre

0

unset est une construction linguistique, et vous ne pouvez pas l'utiliser dans une déclaration if. Si vous l'utilisez en dehors d'une déclaration if/ne vous attendez pas à ce qu'il retourne quelque chose, vous devriez être bien.

Questions connexes