上一节中我们介绍了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。