FluentDOM\Transformer\JSONx::addNode PHP Method

addNode() public method

public addNode ( Document | Element $parent, DOMElement $node, boolean $addNameAttribute = FALSE )
$parent FluentDOM\Document | FluentDOM\Element
$node DOMElement
$addNameAttribute boolean
    public function addNode($parent, \DOMElement $node, $addNameAttribute = FALSE)
    {
        switch ($this->getType($node)) {
            case 'object':
                $result = $parent->appendElement('json:object');
                $this->appendChildNodes($result, $node, TRUE);
                break;
            case 'array':
                $result = $parent->appendElement('json:array');
                $this->appendChildNodes($result, $node, FALSE);
                break;
            case 'number':
                $result = $parent->appendElement('json:number', $node->nodeValue);
                break;
            case 'boolean':
                $result = $parent->appendElement('json:boolean', $node->nodeValue);
                break;
            case 'null':
                $result = $parent->appendElement('json:null');
                break;
            default:
                $result = $parent->appendElement('json:string', $node->nodeValue);
                break;
        }
        if ($addNameAttribute) {
            $name = $node->localName;
            if ($node->hasAttributeNS(self::XMLNS_JSONDOM, 'name')) {
                $name = $node->getAttributeNS(self::XMLNS_JSONDOM, 'name');
            }
            $result['name'] = $name;
        }
    }