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

 

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