2012-01-29 11 views
0

私は他の場所で答えを探してみましたが、JoomlaのXMLParserのドキュメントは実際には貧弱です。基本的には、XMLファイルのノードからデータを抽出しようとしています。誰もが私の構文が間違っているものを私に説明することができた場合、私はそれをお願い申し上げます。foreach with Joomla 1.7 XMLParser

$path = "uploaded_xmls/" . $_FILES["file"]["name"]; 

     $xml =& JFactory::getXMLParser('Simple'); 

     $user = & JFactory::getUser(); 

     if($user->id && $xml->loadFile($path)) {    
      foreach($xml->document->track as $track) { 
       $track_id = $track->getElementByPath('id'); 
       $track_type = 's';    
      } 
      } 
+0

はなぜ古き良きプレーンのSimpleXMLを使用しないということです。それはjoomlaがsimplexml自体を使用しているように見えます(コードをチェックしてください)。 http://nl2.php.net/simplexmlも参照してください。 – giorgio

答えて

0

JFactory::getXMLParser('simple')は応じ

「PHP5インターフェースのSimpleXMLのPHP4互換性の実現」を返します。 docブロックに追加します。

あなたのコードスニペットから、何が起こっていないのか(実際には指定されていない)ことはわかりません。したがって、XMLファイルのフォーマットの問題でもあります。

JFactory::getXML($data, $isFile)を使用する方がよいでしょう。これは、単なるsimplexml_load_XXXXのラッパーです。すなわち、 $dataは、XMLまたはXMLファイルへのパスのいずれかになり、ブール値$isFileを適切に設定します。

最大の利点は、当然のことながら、simplexml has plenty documentationと例/

関連する問題