概述
Joomla! 1.5 新增 JSimpleXML 类,可以更为简单的读取xml文件,但是现在还不能修改CDATA或或者属性,也不支持XPath.
JSimpleXML需要PHP 4.2以上版本,以及 Expat扩展。
2. 实现
JSimpleXML 类代码:
class JSimpleXML extends JObject
{
/**
* Document element
*
* @var object
*/
var $document = null;
/**
* Interprets a string of XML into an object
*
* This function will take the well-formed xml string data and return an object of class
* JSimpleXMLElement with properties containing the data held within the xml document.
* If any errors occur, it returns FALSE.
*
* @param string Well-formed xml string data
* @param string currently ignored
* @return object JSimpleXMLElement
*/
function loadString($string, $classname = null)
{
$this->_parse($string);
return true;
}
/**
* Interprets an XML file into an object
*
* This function will convert the well-formed XML document in the file specified by
* filename to an object of class JSimpleXMLElement. If any errors occur during file
* access or interpretation, the function returns FALSE.
*
* @param string Path to xml file containing a well-formed XML document
* @param string currently ignored
* @return object JSimpleXMLElement
*/
function loadFile($path, $classname = null)
{
//Get the XML document loaded into a variable
$xml = file_get_contents($path);
$this->_parse($xml);
return true;
}
/**
* Get the parser
*
* @access public
* @return resource XML parser resource handle
*/
function getParser() {
return $this->_parser;
}
/**
* Set the parser
*
* @access public
* @param resource XML parser resource handle
*/
function setParser($parser) {
$this->_parser = $parser;
}
}
3. 使用
正如其名,JSimpleXML使用起来非常简单。你可以参考php5的SimpleXML文档,机关本质上两者有些不同,但是使用上是基本兼容的。
来看一个xml文档的例子(example.xml)
Ms. Coder
Onlivia Actora
Mr. Coder
El ActÓr
So, this language. It's like, a programming language. Or is it a scripting language? All
is revealed in this thrilling horror spoof of a documentary.
7
5
2.1 开始
首先要载入xml文档,在本例中我们要载入example.xml,JSimpleXML loadFile 方法载入相应文件的xml格式数据。loadFile其实使用 file_get_contents()方法读取文件,并把被荣传递给解析器。
//Create a JSimpleXML object
$xml = new JSimpleXML();
//Load the xml file
$xml->loadFile($file);
?>
XML解析器在解析文档时候发生错误会触发 JError,如果没有任何错误,就会继续进行。
JSimpleXML的对象结构是直接了当的,文档的根包含在内。也就是说上例中$xml->document是根。$xml->document->movie[0]是第一个movie标签$xml->document->movie是一个数组,而不是JSimpleXMLElement对象。
Joomla! 1.5 新增 JSimpleXML 类,可以更为简单的读取xml文件,但是现在还不能修改CDATA或或者属性,也不支持XPath.
JSimpleXML需要PHP 4.2以上版本,以及 Expat扩展。
2. 实现
JSimpleXML 类代码:
class JSimpleXML extends JObject
{
/**
* Document element
*
* @var object
*/
var $document = null;
/**
* Interprets a string of XML into an object
*
* This function will take the well-formed xml string data and return an object of class
* JSimpleXMLElement with properties containing the data held within the xml document.
* If any errors occur, it returns FALSE.
*
* @param string Well-formed xml string data
* @param string currently ignored
* @return object JSimpleXMLElement
*/
function loadString($string, $classname = null)
{
$this->_parse($string);
return true;
}
/**
* Interprets an XML file into an object
*
* This function will convert the well-formed XML document in the file specified by
* filename to an object of class JSimpleXMLElement. If any errors occur during file
* access or interpretation, the function returns FALSE.
*
* @param string Path to xml file containing a well-formed XML document
* @param string currently ignored
* @return object JSimpleXMLElement
*/
function loadFile($path, $classname = null)
{
//Get the XML document loaded into a variable
$xml = file_get_contents($path);
$this->_parse($xml);
return true;
}
/**
* Get the parser
*
* @access public
* @return resource XML parser resource handle
*/
function getParser() {
return $this->_parser;
}
/**
* Set the parser
*
* @access public
* @param resource XML parser resource handle
*/
function setParser($parser) {
$this->_parser = $parser;
}
}
3. 使用
正如其名,JSimpleXML使用起来非常简单。你可以参考php5的SimpleXML文档,机关本质上两者有些不同,但是使用上是基本兼容的。
来看一个xml文档的例子(example.xml)
Ms. Coder
Onlivia Actora
Mr. Coder
El ActÓr
So, this language. It's like, a programming language. Or is it a scripting language? All
is revealed in this thrilling horror spoof of a documentary.
7
5
2.1 开始
首先要载入xml文档,在本例中我们要载入example.xml,JSimpleXML loadFile 方法载入相应文件的xml格式数据。loadFile其实使用 file_get_contents()方法读取文件,并把被荣传递给解析器。
//Create a JSimpleXML object
$xml = new JSimpleXML();
//Load the xml file
$xml->loadFile($file);
?>
XML解析器在解析文档时候发生错误会触发 JError,如果没有任何错误,就会继续进行。
JSimpleXML的对象结构是直接了当的,文档的根包含在内。也就是说上例中$xml->document是根。$xml->document->movie[0]是第一个movie标签$xml->document->movie是一个数组,而不是JSimpleXMLElement对象。
发表评论
-
joomla 模块modules开发教程
2010-05-12 14:16 2799模块是页面扩展轻量级方式,相对组件更为灵活。模块通常用来做页面 ... -
joomla 1.5——JDocument类用法
2010-04-22 14:46 1391文档类,提供一个容易 ... -
Joomla插件开发规范
2010-04-22 14:44 1406概述:JPlugin Joomla 1.5的新功能 为了更好 ... -
joomla源代码探析续(三十一) JHTML 类常用的方法
2010-04-22 14:37 1740我曾经在几篇文章中涉及到JHTML的方法使用,这里不再说了,请 ... -
joomla源代码探析续(三十) JDate类参考
2010-04-22 14:36 1081JDate类与JString类一样是Joomla!中的基础类, ... -
joomla源代码探析续(二十九) JHTML 与JHTMLSelect 类的使用
2010-04-22 14:33 1207我们在form表单生成的过程中,经常需要有select 标签或 ... -
joomla源代码探析续(二十八) 如何扩展JTable类
2010-04-22 14:30 1063JTable类是Active Record设计模式(web应用 ... -
joomla源代码探析续(二十七)组件后台如何设置参数
2010-04-22 14:29 926以下的方法可以在管理后台中添加一个Parameters设置的按 ... -
joomla源代码探析续(二十六)JUser对象和用户权限判断
2010-04-22 14:23 1862每一个访问Joomla网站的用户都对应这一个JUser对象,通 ... -
joomla源代码探析续(二十五)JRequest对象的变量获取过程
2010-04-22 14:22 1182Joomla 1.5 RC3版本的SEF存在不少问题,前段时间 ... -
joomla源代码探析续(二十四)JPagination类
2010-04-22 14:22 1125JPagination类是Joomla的通用分页功能的封装类, ... -
Joomla源代码解析(二十二) 模块是如何被调用执行并渲染(下)
2010-04-22 14:16 951上一文章中提到了getBuffer函数,在函数中实际上调用了r ... -
模块是如何被调用执行并渲染?
2010-04-22 14:12 851以前的文章中,关于/index.php我们已经分析完了 $ma ... -
Joomla源代码解析(二十) MVC组件的执行
2010-04-22 14:10 926以前的文章中,我们曾经说过 $mainframework-&g ... -
Joomla源代码解析(十九) JController
2010-04-22 14:05 892同样 JController 是MVC中重要的起点,正式这个类 ... -
Joomla源代码解析(十八) Jview
2010-04-22 14:03 971MVC模式中,重要的一环,JView 和 tmpl目录中的模板 ... -
Joomla源代码解析(十六) JTable是什么 不指定
2010-04-22 14:01 1459JTable是什么? JTable是数据库中数据表在程序中的表 ... -
Joomla源代码解析(十五) 组件是如何被调用并渲染的
2010-04-22 14:00 1442Joomla代码中, 组件是如 ... -
Joomla源代码解析(十四) JRequest类 不指定
2010-04-22 13:58 863这是另一个Joomla扩展中最常用的类,这个类封装了客户端提交 ... -
Joomla源代码解析(十三) JText类
2010-04-22 11:25 1223Joomla 最常用的类之一,使用方式JTEXT::_('JJ ...
相关推荐
### Joomla组件翻译篇知识点解析 #### 一、MVC组件开发概述 - **MVC(Model-View-Controller)架构**:这是一种常见的软件设计模式,主要用于简化开发过程并提高代码可维护性。在Joomla中,它被广泛应用于组件开发...
- XML解析:因为`mod_mymodule.xml`是XML文件,所以可能需要了解XML语法和如何在Python中处理XML数据。 - PHP与Joomla API:虽然主要使用Python,但最终生成的代码是PHP,因此需要对PHP基础和Joomla API有一定的了解...
Fish是Joomla平台上的一个多语言解决方案,为创建和管理多语言网站提供了强大工具。通过理解和充分利用其功能,用户可以轻松地扩展他们的网站,以满足全球观众的需求。同时,与Joomla的紧密集成使得Joom!Fish成为...
然而,尽管Joomla被公认为世界上最优秀的CMS之一,但在中国的普及和发展却面临着一些挑战。 首先,Joomla在中国的现状并不乐观。由于进入中国市场较晚,加上中文资源相对匮乏,许多用户对Joomla的认知度较低,这...
总的来说,这个压缩包提供了Joomla CMS系统中使用的FCKeditor(现为CKEditor)的一个版本,包括了所有必要的文件和配置,用于在Joomla网站上实现富文本编辑功能。对于Joomla管理员来说,理解这些文件的作用和如何...
通过正确翻译和配置Joomla模板中的 `templateDetails.xml` 文件以及合理声明语言文件,可以使Joomla模板更具国际化特性,从而更好地服务于全球用户。同时,自定义模块结构能够为用户提供更加个性化和美观的界面体验...
"pkg_zh-CN.xml"文件则可能需要通过Joomla的扩展管理器进行安装,以完成全局的语言设置。 6. **兼容性与更新**:使用汉化包时需要注意其与Joomla核心版本的兼容性,确保汉化包是针对正确版本的。同时,随着Joomla的...
在描述中再次强调了这是针对简体中文用户的版本,意味着所有界面元素、帮助文档和错误提示都将被翻译为简体中文,提高了中国用户使用Joomla! 的体验。 在提供的标签中,“joomla” 和 “简体中文” 明确指出这是与 ...
- **easyblog.xml**:这是组件的XML清单文件,包含了组件的元数据、安装信息和依赖项等,用于Joomla的自动安装过程。 - **languages**:该目录包含组件的各种语言文件,使得EasyBlog可以支持多语言环境。 - **...
- **virtuemart.xml**:这是VirtueMart 的安装文件,包含了组件的元数据,用于Joomla 的自动安装过程。 - **install**:这个目录包含安装过程中所需的文件,如SQL脚本和配置文件。 - **administrator**:这部分是...
Joomla模块开发是扩展Joomla网站功能的关键途径,使其能够支持多语言,为全球用户提供更加友好和便捷的体验。在本教程中,我们将探讨如何创建和管理Joomla模块的语言文件,以便实现多语言功能。 首先,为了使模块...
- `<extension>`标签的`name`、`element`、`type`、`version`和`detailsurl`参数分别表示扩展名、未翻译的扩展名、扩展类型、最新版本和更新XML文件地址。 - **Extension(单个扩展式)**: - 当`type=...
JEvents则是一个在Joomla平台上运行的事件管理组件,它允许用户创建、管理和发布各种活动日程。 描述中提到“适用于JEvents 2.2以上”,这意味着这个语言包不仅兼容Joomla 2.5,还适用于JEvents 2.2及其后续的更新...
9. **XMLRPC 支持**:`xmlrpc` 文件夹中的内容可能涉及 XML-RPC 协议,允许远程调用 Joomla 的某些功能,例如远程发布或管理内容。 10. **库与框架**:`libraries` 文件夹包含 Joomla 的核心库和框架,这些库提供了...
通过解析这个XML文件,Joomla的安装程序可以知道如何正确地处理组件的安装过程。 4. **packages**:这是一个目录,通常包含组件的子模块、插件或其他附加组件。在Zoo组件的案例中,这个目录可能包含了各种预设的...
PayPlans是一个强大的订阅管理解决方案,允许用户在Joomla网站上创建和管理各种付款计划,如会员订阅或服务费用。 当我们谈论"Joomla PayPlans发票模块"时,我们指的是一个专门为PayPlans设计的组件,旨在帮助用户...