note 104458 modified in simplexmlelement.addchild by danbrown

From: Date: Thu, 16 Jun 2011 14:36:51 +0000
Subject: note 104458 modified in simplexmlelement.addchild by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-180609@lists.php.net to get a copy of this message
Here is a class with more functions for SimpleXMLElement : <?php /** * * Extension for SimpleXMLElement * @author Alexandre FERAUD * */ class ExSimpleXMLElement extends SimpleXMLElement { /** * Add CDATA text in a node * @param string $cdata_text The CDATA value to add */ private function addCData($cdata_text) { $node= dom_import_simplexml($this); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection($cdata_text)); } /** * Create a child with CDATA value * @param string $name The name of the child element to add. * @param string $cdata_text The CDATA value of the child element. */ public function addChildCData($name,$cdata_text) { $child = $this->addChild($name); $child->addCData($cdata_text); } /** * Add SimpleXMLElement code into a SimpleXMLElement * @param SimpleXMLElement $append */ public function appendXML($append) { if ($append) { if (strlen(trim((string) $append))==0) { $xml = $this->addChild($append->getName()); foreach($append->children() as $child) { $xml->appendXML($child); } } else { $xml = $this->addChild($append->getName(), (string) $append); } foreach($append->attributes() as $n => $v) { $xml->addAttribute($n, $v); } } } } ?> --was-- Here is a class with more functions for SimpleXMLElement : /** * * Extension for SimpleXMLElement * @author Alexandre FERAUD * */ class ExSimpleXMLElement extends SimpleXMLElement { /** * Add CDATA text in a node * @param string $cdata_text The CDATA value to add */ private function addCData($cdata_text) { $node= dom_import_simplexml($this); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection($cdata_text)); } /** * Create a child with CDATA value * @param string $name The name of the child element to add. * @param string $cdata_text The CDATA value of the child element. */ public function addChildCData($name,$cdata_text) { $child = $this->addChild($name); $child->addCData($cdata_text); } /** * Add SimpleXMLElement code into a SimpleXMLElement * @param SimpleXMLElement $append */ public function appendXML($append) { if ($append) { if (strlen(trim((string) $append))==0) { $xml = $this->addChild($append->getName()); foreach($append->children() as $child) { $xml->appendXML($child); } } else { $xml = $this->addChild($append->getName(), (string) $append); } foreach($append->attributes() as $n => $v) { $xml->addAttribute($n, $v); } } } } http://php.net/manual/en/simplexmlelement.addchild.php

« previous php.notes (#180609) next »