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

PHP
详细讲解PHP编程中分页显示的制作
PHP开发技巧:PHP关于图像颜色的操作
PHP程序安全基础:手工php注入总结
PHP动态网页程序中常用的表单验证类
用PHP程序实现支持页面后退的两种方法
PHP代码:基本数据结构和php内置函数
php实现图片远程采集(PHP采集)
巧用PHP记录搜索引擎蜘蛛访问网站的足迹
PHP的常用的几大模板引擎
PHP采集图片实例(PHP采集)
用PHP读取RSS内容,实现与BLOG的同步
php生成静态页面的方法(简单,实用)
PHP+CSS实现打印简单数据报表功能
PHP制作简单的内容采集器实例教程
技巧:使用PHP中的字符串函数
PHP文件或目录权限检查函数
PHP实例——PHP创建动态图像
PHP自定义的加密和解密程序
轻松实现php代码防注入,保护代码安全!
PHP与MySQL中的SQL注入式漏洞

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


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