php domdocument class,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元素。

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

?>

输出:

c4579e8448e4cbcd97b2a7db9e71568e.png

程序2:在此程序中,我们将使用类获取标签的文本内容。

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(

"

This is my heading

");

// 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值