BlaBla.cn

PHP: DOMDocument->registerNodeClass() - Manual

BlaBla.cn

DOMDocument->registerNodeClass()

(PHP 5 >= 5.2.0)

DOMDocument->registerNodeClass() — Register extended class used to create base node type

说明

DOMDocument
bool registerNodeClass ( string $baseclass , string $extendedclass )

This method allows you to register your own extended DOM class to be used afterward by the PHP DOM extension.

This method is not part of the DOM standard.

参数

baseclass

The DOM class that you want to extend. You can find a list of these classes in the chapter introduction.

Of course, you won't be able to register a class extending DOMDocument but you can always start your document by instanciating your own extending class.

extendedclass

Your extended class name. If NULL is provided, any previously registered class extending baseclass will be removed.

返回值

如果成功则返回 TRUE ,失败则返回 FALSE

更新日志

版本 说明
PHP 5.2.2 Prior to 5.2.2, a previously registered extendedclass had to be unregistered before being able to register a new class extending the same baseclass .

范例

Example#1 Adding a new method to DOMElement to ease our code

<?php

class  myElement  extends  DOMElement  {
   function 
appendElement ( $name ) { 
      return 
$this -> appendChild (new  myElement ( $name ));
   }
}

class 
myDocument  extends  DOMDocument  {
   function 
setRoot ( $name ) { 
      return 
$this -> appendChild (new  myElement ( $name ));
   }
}

$doc  = new  myDocument ();
$doc -> registerNodeClass ( 'DOMElement' 'myElement' );

// From now on, adding an element to another costs only one method call ! 
$root  $doc -> setRoot ( 'root' );
$child  $root -> appendElement ( 'child' );
$child -> setAttribute ( 'foo' 'bar' );

echo 
$doc -> saveXML ();

?>

上例将输出:

<?xml version="1.0"?>
<root><child foo="bar"/></root>

    




 
BlaBla.cn

© 2005-2008 BlaBla.cn 版权所有