private function getXmlElement(SimpleXMLElement $el) { $result = new XmlElement(String::create($el->getName())); $result->setText(String::create($el)); foreach ($el->children() as $child) { $xmlChild = $this->getXmlElement($child); $xmlChild->setParent($result); $result->addChild($xmlChild); } foreach ($el->attributes() as $name => $val) { $result->addAttribute($name, (string) $val); } return $result; }
private function getXmlElement(DOMElement $el) { $result = new XmlElement(String::create($el->tagName)); for ($i = 0; $i < $el->childNodes->length; $i++) { $child = $el->childNodes->item($i); if ($child instanceof DOMText) { $result->setText(String::create($child->textContent)); } elseif ($child instanceof DOMElement) { $xmlChild = $this->getXmlElement($child); $xmlChild->setParent($result); $result->addChild($xmlChild); } } for ($i = 0; $i < $el->attributes->length; $i++) { $attr = $el->attributes->item($i); $result->addAttribute($attr->nodeName, $attr->nodeValue); } return $result; }