当前位置: 首页 > 图文教程 > 网络编程 > PHP > 使用PHP 5.0 轻松解析XML文档(3)

PHP
php调用mysql存储过程
PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
PHP中HTTP方式下的Gzip压缩传输方法举偶
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
如何提高PHP速度
发布一个用PHP fsockopen写的HTTP下载的类
php公用函数列表[正则]
实现了一个PHP5的getter/setter基类的代码
php简单封装了一些常用JS操作
Smarty+QUICKFORM小小演示
给php新手谈谈我的学习心得
NOD32 v2.70.32 简体中文封装版 提供下载了
个人站长制做网页常用的php代码
收集的php编写大型网站问题集
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
php下实现农历日历的代码
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
php网页后退不再出现过期
PHP实现用户认证及管理完全源码
用PHP制作的意见反馈表源码

使用PHP 5.0 轻松解析XML文档(3)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 209 ::
收藏到网摘: n/a

文件:SimpleDocumentRoot.php

<?php/** *========================================================= * * @author hahawen(大龄青年) * @since 2004-12-04 * @copyright Copyright (c) 2004, NxCoder Group * *========================================================= *//** * class SimpleDocumentRoot * xml root class, include values/attributes/subnodes. * all this pachage's is work for xml file, and method is action as DOM. * * @package SmartWeb.common.xml * @version 1.0 */class SimpleDocumentRoot extends SimpleDocumentBase{ private $prefixStr = '<?xml version="1.0" encoding="utf-8" ?>'; private $nodeLists = array(); function __construct($nodeTag) { parent::__construct($nodeTag); } public function createNodeObject($pNodeId, $name, $attributes) { $seq = sizeof($this->nodeLists); $tmpObject = new SimpleDocumentNode($this, $pNodeId, $name, $seq); $tmpObject->setAttributes($attributes); $this->nodeLists[$seq] = $tmpObject; return $tmpObject; } public function removeNodeById($id) { if(sizeof($this->nodeLists)==1) $this->nodeLists = array(); else unset($this->nodeLists[$id]); } public function getNodeById($id) { return $this->nodeLists[$id]; } public function createNode($name, $attributes) { return $this->createNodeByName($this, $name, $attributes, -1); } public function removeNode($name) { return $this->removeNodeByName($this, $name); } public function getNode($name=null) { return $this->getNodeByName($this, $name); } public function getSaveXml() { $prefixSpace = ""; $str = $this->prefixStr."\r\n"; return $str.parent::getSaveXml(0); }}?> 
  
  文件:SimpleDocumentNode.php

<?php/** *========================================================= * * @author hahawen(大龄青年) * @since 2004-12-04 * @copyright Copyright (c) 2004, NxCoder Group * *========================================================= *//** * class SimpleDocumentNode * xml Node class, include values/attributes/subnodes. * all this pachage's is work for xml file, and method is action as DOM. * * @package SmartWeb.common.xml * @version 1.0 */class SimpleDocumentNode extends SimpleDocumentBase{ private $seq = null; private $rootObject = null; private $pNodeId = null; function __construct($rootObject, $pNodeId, $nodeTag, $seq) { parent::__construct($nodeTag); $this->rootObject = $rootObject; $this->pNodeId = $pNodeId; $this->seq = $seq; } public function getPNodeObject() { return ($this->pNodeId==-1)? $this->rootObject: $this->rootObject->getNodeById($this->pNodeId); } public function getSeq(){ return $this->seq; } public function createNode($name, $attributes) { return $this->createNodeByName($this->rootObject, $name, $attributes, $this->getSeq()); } public function removeNode($name) { return $this->removeNodeByName($this->rootObject, $name); } public function getNode($name=null) { return $this->getNodeByName($this->rootObject, $name); }}?>