/var/www/vhosts/nabawater/vendor/codeception/base/src/Codeception/Util
NameSizeModeActions
Shared/-0775rm
ActionSequence.php35250664editdlrm
Annotation.php44040664editdlrm
ArrayContainsComparator.php37640664editdlrm
Autoload.php51230664editdlrm
Debug.php16030664editdlrm
FileSystem.php23630664editdlrm
Fixtures.php8120664editdlrm
HttpCode.php55140664editdlrm
JsonArray.php36330664editdlrm
JsonType.php85480664editdlrm
Locator.php102910664editdlrm
Maybe.php62140664editdlrm
PathResolver.php52620664editdlrm
PropertyAccess.php4290664editdlrm
README.md2550664editdlrm
ReflectionHelper.php14860664editdlrm
Soap.php3660664editdlrm
sq.php8200664editdlrm
Stub.php10300664editdlrm
Template.php19640664editdlrm
Uri.php36280664editdlrm
Xml.php14020664editdlrm
XmlBuilder.php39120664editdlrm
XmlStructure.php23940664editdlrm
Edit: /var/www/vhosts/nabawater/vendor/codeception/base/src/Codeception/Util/XmlBuilder.php (3912B)
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) */ class XmlBuilder { /** * @var \DOMDocument */ protected $__dom__; /** * @var \DOMElement */ protected $__currentNode__; public function __construct() { $this->__dom__ = new \DOMDocument(); $this->__currentNode__ = $this->__dom__; } /** * Appends child node * * @param $tag * * @return XmlBuilder */ public function __get($tag) { $node = $this->__dom__->createElement($tag); $this->__currentNode__->appendChild($node); $this->__currentNode__ = $node; return $this; } /** * @param $val * * @return XmlBuilder */ public function val($val) { $this->__currentNode__->nodeValue = $val; return $this; } /** * Sets attribute for current node * * @param $attr * @param $val * * @return XmlBuilder */ public function attr($attr, $val) { $this->__currentNode__->setAttribute($attr, $val); return $this; } /** * Traverses to parent * * @return XmlBuilder */ public function parent() { $this->__currentNode__ = $this->__currentNode__->parentNode; return $this; } /** * Traverses to parent with $name * * @param $tag * * @return XmlBuilder * @throws \Exception */ public function parents($tag) { $traverseNode = $this->__currentNode__; $elFound = false; while ($traverseNode->parentNode) { $traverseNode = $traverseNode->parentNode; if ($traverseNode->tagName == $tag) { $this->__currentNode__ = $traverseNode; $elFound = true; break; } } if (!$elFound) { throw new \Exception("Parent $tag not found in XML"); } return $this; } public function __toString() { return $this->__dom__->saveXML(); } /** * @return \DOMDocument */ public function getDom() { return $this->__dom__; } }