Codeception\Util\XmlBuilder

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('[email protected]')
           ->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">[email protected]</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

__construct

See source

__get

Appends child node

  • param $tag

  • return XmlBuilder

See source

__toString

See source

attr

Sets attribute for current node

  • param $attr
  • param $val

  • return XmlBuilder

See source

getDom

  • return \DOMDocument

See source

parent

Traverses to parent

  • return XmlBuilder

See source

parents

Traverses to parent with $name

  • param $tag

  • return XmlBuilder

  • throws \Exception

See source

val

  • param $val

  • return XmlBuilder

See source

 

Reference is taken from the source code. Help us to improve documentation. Edit module reference