PHP | Función DOMDocument registerNodeClass()

La función DOMDocument::registerNodeClass() es una función incorporada en PHP que se usa para registrar la clase extendida que se usa para crear el tipo de Node base.

Sintaxis:

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

Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:

  • $baseclass: especifica la clase DOM que desea extender.
  • $extendedclass: Especifica el nombre de la clase extendida.

Valor de retorno: esta función devuelve VERDADERO en caso de éxito o FALSO en caso de error.

Los programas dados a continuación ilustran la función DOMDocument::registerNodeClass() en PHP:

Programa 1: En este programa crearemos un elemento div HTML con propiedades CSS usando clases.

<?php
  
// Create a class myElement
class myElement extends DOMElement
{
    // Create a custom function to
    // append the element
    public function appendElement($name)
    {
        return $this->appendChild(new myElement($name));
    }
}
  
// Create a class myDocoment
class myDocument extends DOMDocument {
  
    // Create a custom function to set the root
    public function setRoot($name) {
        return $this->appendChild(new myElement($name));
    }
}
  
// Create a instance of above class
$doc = new myDocument();
  
// Register the node class
$doc->registerNodeClass('DOMElement', 'myElement');
  
// Use setRoot created in myDocument class
$root = $doc->setRoot('div');
  
// Use appendElement created in myElement
$child = $root->appendElement('div');
  
// Set the attribute
$child->setAttribute('style',
    'background:blue; width:100px;height:100px');
  
echo $doc->saveXML();
?>

Producción:

Programa 2: En este programa obtendremos el contenido de texto de una etiqueta usando clases.

<?php
  
class myElement extends DOMElement {
  
    // Create a custom function to
    // get the value of node
    public function getData() {
        return $this->nodeValue;
    }
}
  
// Create a new DOMDocument
$doc = new DOMDocument;
  
// Load the XML
$doc->loadXML(
"<root><div><h1>This is my heading</h1></div></root>");
  
// Register the node class
$doc->registerNodeClass("DOMElement", "myElement");
  
// Get the element
$element = $doc->getElementsByTagName("h1")->item(0);
  
// Use the custom created getData() function
echo $element->getData();
?>

Producción:

This is my heading

Referencia: https://www.php.net/manual/en/domdocument.registernodeclass.php

Publicación traducida automáticamente

Artículo escrito por gurrrung y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *