Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Joomla 1.7 XMLParser的foreach_Php_Joomla_Xml Parsing - Fatal编程技术网

Php 使用Joomla 1.7 XMLParser的foreach

Php 使用Joomla 1.7 XMLParser的foreach,php,joomla,xml-parsing,Php,Joomla,Xml Parsing,我曾尝试在其他地方寻找答案,但Joomla中关于XMLParser的文档非常糟糕。基本上,我只是尝试从XML文件中的节点提取数据。如果有人能向我解释我的语法有什么问题,我将不胜感激: $path = "uploaded_xmls/" . $_FILES["file"]["name"]; $xml =& JFactory::getXMLParser('Simple'); $user = & JFactory::getUser();

我曾尝试在其他地方寻找答案,但Joomla中关于XMLParser的文档非常糟糕。基本上,我只是尝试从XML文件中的节点提取数据。如果有人能向我解释我的语法有什么问题,我将不胜感激:

$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';              
            }
            }
getXMLParser'simple'返回一个

PHP5接口SimpleXML的PHP4兼容实现

根据doc块

我无法从您的代码片段中看出哪里出了问题,而且您还没有实际指定,因此它甚至可能是XML文件格式的问题

您最好使用JFactory::getXML$data,$isFile,它只是包装器中的simplexml\u load\u XXXX。例如,$data可以是您的XML或XML文件的路径,您可以相应地设置布尔值$isFile


当然,最大的优势是,和示例/

为什么不使用好的ol'plain simplexml呢。甚至看起来joomla正在使用simplexml本身,应该检查代码以确定。另见