## 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 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 1 davert@mail.ua useful item 1 ``` ### 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](https://github.com/Codeception/Codeception/blob/master/src/Codeception/Util/XmlBuilder.php) #### __construct() *public* __construct() [See source](https://github.com/Codeception/Codeception/blob/2.4/src/Codeception/Util/XmlBuilder.php#L80) #### __get() *public* __get($tag) Appends child node * `param` $tag * `return` XmlBuilder [See source](https://github.com/Codeception/Codeception/blob/2.4/src/Codeception/Util/XmlBuilder.php#L93) #### __toString() *public* __toString() [See source](https://github.com/Codeception/Codeception/blob/2.4/src/Codeception/Util/XmlBuilder.php#L165) #### attr() *public* attr($attr, $val) Sets attribute for current node * `param` $attr * `param` $val * `return` XmlBuilder [See source](https://github.com/Codeception/Codeception/blob/2.4/src/Codeception/Util/XmlBuilder.php#L120) #### getDom() *public* getDom() * `return` \DOMDocument [See source](https://github.com/Codeception/Codeception/blob/2.4/src/Codeception/Util/XmlBuilder.php#L173) #### parent() *public* parent() Traverses to parent * `return` XmlBuilder [See source](https://github.com/Codeception/Codeception/blob/2.4/src/Codeception/Util/XmlBuilder.php#L131) #### parents() *public* parents($tag) Traverses to parent with $name * `param` $tag * `return` XmlBuilder * `throws` \Exception [See source](https://github.com/Codeception/Codeception/blob/2.4/src/Codeception/Util/XmlBuilder.php#L145) #### val() *public* val($val) * `param` $val * `return` XmlBuilder [See source](https://github.com/Codeception/Codeception/blob/2.4/src/Codeception/Util/XmlBuilder.php#L106)

 

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