cvs: pear /XML_Tree Tree.php
| From: | Sebastian Bergmann | Date: | Thu, 16 Aug 2001 09:56:07 +0000 |
| Subject: | cvs: pear /XML_Tree Tree.php | ||
| Groups: | php.pear.cvs | ||
| Request: | Send a blank email to pear-cvs+get-553@lists.php.net to get a copy of this message | ||
sebastian Thu Aug 16 05:56:07 2001 EDT
Modified files:
/pear/XML_Tree Tree.php
Log:
Some preparations to read/write XML files.
Index: pear/XML_Tree/Tree.php
diff -u pear/XML_Tree/Tree.php:1.2 pear/XML_Tree/Tree.php:1.3
--- pear/XML_Tree/Tree.php:1.2 Thu Aug 16 02:56:04 2001
+++ pear/XML_Tree/Tree.php Thu Aug 16 05:56:07 2001
@@ -18,7 +18,7 @@
// | Christian Kühn <ck@chkuehn.de> |
// +----------------------------------------------------------------------+
//
-// $Id: Tree.php,v 1.2 2001/08/16 06:56:04 sebastian Exp $
+// $Id: Tree.php,v 1.3 2001/08/16 09:56:07 sebastian Exp $
//
require_once 'XML/Tree/Node.php';
@@ -47,33 +47,48 @@
*/
class XML_Tree {
/**
+ * File Handle
+ *
+ * @var ressource
+ */
+ var $file = NULL;
+
+ /**
+ * Filename
+ *
+ * @var string
+ */
+ var $filename = '';
+
+ /**
* Namespace
*
* @var array
*/
- var $namespace;
+ var $namespace = array();
/**
* Root
*
* @var object
*/
- var $root;
+ var $root = NULL;
/**
* XML Version
*
* @var string
*/
- var $version;
+ var $version = '1.0';
/**
* Constructor
*
* @param string XML Version
*/
- function XML_Tree($version = '1.0') {
- $this->version = $version;
+ function XML_Tree($filename = '', $version = '1.0') {
+ $this->filename = $filename;
+ $this->version = $version;
}
/**
@@ -133,6 +148,57 @@
*/
function register_name($name, $path) {
$this->namespace[$name] = $path;
+ }
+
+ /**
+ * Read XML from a file.
+ *
+ * @param string filename
+ */
+ function read_file($filename = '') {
+ if ($this->_open_file($filename, 'r')) {
+ while ($data = @fread($this->fil, 4096)) {
+ // ...
+ }
+
+ @fclose($this->file);
+ }
+ }
+
+ /**
+ * Write XML to a file.
+ *
+ * @param string filename
+ */
+ function write_file($filename = '') {
+ if ($this->_open_file($filename, 'w')) {
+ @fputs($this->file, $this->get());
+ @fclose($this->file);
+ }
+ }
+
+ /**
+ * Open a file.
+ *
+ * @param string filename
+ * @param string mode
+ * @return boolean success
+ * @access private
+ */
+ function _open_file($filename, $mode) {
+ if (empty($filename)) {
+ if (!empty($this->filename)) {
+ $filename =& $this->filename;
+ } else {
+ return false;
+ }
+ }
+
+ if ($this->file = @fopen($filename, $mode)) {
+ return true;
+ } else {
+ return false;
+ }
}
}
?>