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

PHP
PHP教程:缓存技术应用
PHP5对webservice的实现
20个有用的PHP+jQuery组件和教程(英文)
屏蔽部分Email地址的smarty插件
编写PHP代码的过程中养成的良好习惯
PHP教程:MySQL读写分离由PHP实现
PHP实例教程:实现网站上传图片自动加水印
CSS教程:绝对定位和浮动的分栏布局
WordPress教程:query_posts()
总结 PHP xajax应用方法
如何实现PHP的TEA算法?
PHP的企业应用-WebService
PHP的光明前途
如何在IIS7下面添加对PHP网页的支持
用php制作友好的404错误页面
多进程应用帮助PHP解决难题
PHP数据库常出现哪些问题?
PHP的七大优势
PHP教程:TEA算法实现
纯属忽悠:Google提供的网站加速PHP技巧

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 206 ::
收藏到网摘: 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); }}?>