HumHub Documentation (unofficial)

XmlBuilder
in package

That's a pretty simple yet powerful class to build XML structures in jQuery-like style.

With no XML line actually written! Uses DOM extension to manipulate XML data.

<?php
$xml = new \Codeception\Util\XmlBuilder();
$xml->users
   ->user
       ->val(1)
       ->email
           ->val('davert@mail.ua')
           ->attr('valid','true')
           ->parent()
       ->cart
           ->attr('empty','false')
           ->items
               ->item
                   ->val('useful item');
               ->parents('user')
       ->active
           ->val(1);
echo $xml;

This will produce this XML

<?xml version="1.0"?>
<users>
   <user>
       1
       <email valid="true">davert@mail.ua</email>
       <cart empty="false">
           <items>
               <item>useful item</item>
           </items>
       </cart>
       <active>1</active>
   </user>
</users>

Usage

Builder uses chained calls. So each call to builder returns a builder object. Except for getDom and __toString methods.

  • $xml->node - create new xml node and go inside of it.
  • $xml->node->val('value') - sets the inner value of node
  • $xml->attr('name','value') - set the attribute of node
  • $xml->parent() - go back to parent node.
  • $xml->parents('user') - go back through all parents to user node.

Export:

  • $xml->getDom - get a DOMDocument object
  • $xml->__toString - get a string representation of XML.

Source code

Table of Contents

Properties

$__currentNode__  : DOMElement
$__dom__  : DOMDocument

Methods

__construct()  : mixed
__get()  : XmlBuilder
Appends child node
__toString()  : mixed
attr()  : XmlBuilder
Sets attribute for current node
getDom()  : DOMDocument
parent()  : XmlBuilder
Traverses to parent
parents()  : XmlBuilder
Traverses to parent with $name
val()  : XmlBuilder

Properties

$__currentNode__

protected DOMElement $__currentNode__

Methods

attr()

Sets attribute for current node

public attr(mixed $attr, mixed $val) : XmlBuilder
Parameters
$attr : mixed
$val : mixed
Return values
XmlBuilder

getDom()

public getDom() : DOMDocument
Return values
DOMDocument

parents()

Traverses to parent with $name

public parents(mixed $tag) : XmlBuilder
Parameters
$tag : mixed
Tags
throws
Exception
Return values
XmlBuilder

        
On this page

Search results