當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


PHP DOMDocument registerNodeClass()用法及代碼示例

DOMDocument::registerNodeClass()函數是PHP中的內置函數,用於注冊用於創建基本節點類型的擴展類。

用法:

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

參數:該函數接受上述和以下所述的兩個參數:


  • $baseclass:它指定要擴展的DOM類。
  • $extendedclass:它指定擴展的類名。

返回值:如果成功,則此函數返回TRUE;如果失敗,則返回FALSE。

下麵給出的程序說明了PHP中的DOMDocument::registerNodeClass()函數:

程序1:在此程序中,我們將使用類創建具有CSS屬性的HTML div元素。

<?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(); 
?>

輸出:

程序2:在此程序中,我們將使用類獲取標簽的文本內容。

<?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(); 
?>

輸出:

This is my heading

參考: https://www.php.net/manual/en/domdocument.registernodeclass.php



相關用法


注:本文由純淨天空篩選整理自gurrrung大神的英文原創作品 PHP | DOMDocument registerNodeClass() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。