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 touser
node.
Export:
-
$xml->getDom
- get a DOMDocument object -
$xml->__toString
- get a string representation of XML.
__construct()
public __construct()
__get()
public __get($tag)
Appends child node
-
param
$tag -
return
XmlBuilder
__toString()
public __toString()
attr()
public attr($attr, $val)
Sets attribute for current node
-
param
$attr -
param
$val -
return
XmlBuilder
getDom()
public getDom()
-
return
\DOMDocument
parent()
public parent()
Traverses to parent
-
return
XmlBuilder
parents()
public parents($tag)
Traverses to parent with $name
-
param
$tag -
return
XmlBuilder -
throws
\Exception
val()
public val($val)
-
param
$val -
return
XmlBuilder
© 2011 Michael Bodnarchuk and contributors
Licensed under the MIT License.
https://codeception.com/docs/reference/XmlBuilder