上一节中我们介绍了php5中的simplexml。joomla是基于PHP的CMS.所以joomla中是可以直接使用simplexml对象 的。因为现在的php版本一版都到5了。在php5之前,joomla也有一个解析xml的类。这个类基本上实现了simplexml的方法。
还是上回的xml文件:
<?xml version="1.0"?> <catalog> <book id="bk101"> <author>ZMAX</author> <title>XML Develop</title> <book id="new add"> <author>min.zhang</author> <title>ZMAX SUPER HH!</title> </catalog>
不用细说了,直接上代码:
<?php $xmlFilePath = bookstore.xml'; $xml = JFactory::getXMLParser('Simple'); if($xml->loadFile($xmlFilePath)) { foreach($xml->document->book as $book) { $author = $book->getElementByPath('author');//访问author标签 $title = $book->getElementByPath('title');//访问title标签 $id = $book->attributes("id");//访问id属性 $book->addChild("publisher"); $publisher = $book->getElementByPath('publisher'); $publisher->setData("acmePub"); //echo $book->toString(); echo "Author:{$author->data()}<br />"; echo "Title:{$title->data()}<br />"; echo "Id:{$id}<br />"; } } else { $error_mssage="File Open Error:file ".$xmlFilePath; echo $error_mssage."<br />"; } */ ?>
相比之下,joomla的xml解析类主要是用来读xml的。不是很擅长修改xml.如果要修改xml,可以直接使用simplexXMl。