| layout | doc |
|---|---|
| title | XmlBuilder - Codeception - Documentation |
- Implements
Stringable
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.
{% highlight 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; {% endhighlight %} This will produce this XML {% highlight xml %} 1 davert@mail.ua useful item 1{% endhighlight %}
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 tousernode.
Export:
$xml->getDom- get a DOMDocument object$xml->__toString- get a string representation of XML.
public __construct()
public __get($tag)
param string$tagreturn \Codeception\Util\XmlBuilder
Appends child node
public __toString()
return string
public attr($attr, $val)
param string$attrparam string$valreturn \Codeception\Util\XmlBuilder
Sets attribute for current node
public getDom()
return \DOMDocument
public parent()
return \Codeception\Util\XmlBuilder
Traverses to parent
public parents($tagName)
param string$tagNamethrows Exceptionreturn \Codeception\Util\XmlBuilder
Traverses to parent with $tagName
public val($val)
param string$valreturn \Codeception\Util\XmlBuilder
Reference is taken from the source code. Help us to improve documentation. Edit module reference