与Joomla 1.7 foreach XMLParser
问题描述:
我试过在其他地方寻找答案,但在Joomla XMLParser的文档是非常差。基本上,我只是试图从XML文件中的节点提取数据。如果任何人都可以向我解释什么是错我的语法我将不胜感激:与Joomla 1.7 foreach 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';
}
}
答
JFactory::getXMLParser('simple')
返回根据
一个
“的PHP5接口的SimpleXML的PHP4兼容实现”到doc块。
我无法从代码片断中发现哪里出了问题(而且您没有真正指定),所以它甚至可能是XML文件格式的问题。
你可能会更好使用
JFactory::getXML($data, $isFile)
这只是simplexml_load_XXXX在包装。即。$data
可以是您的XML或XML文件的路径,您可以相应地设置布尔值$isFile
。最大的优势,当然,是simplexml has plenty documentation和实例/
为什么不利用好醇”纯simplexml的。它甚至看起来像joomla使用simplexml本身(应检查代码是肯定的)。另见http://nl2.php.net/simplexml – giorgio 2012-01-29 04:15:06