XmlBuilder
in package
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('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 version="1.0"?>
<users>
<user>
1
<email valid="true">davert@mail.ua</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.
Table of Contents
Properties
- $__currentNode__ : DOMElement
- $__dom__ : DOMDocument
Methods
- __construct() : mixed
- __get() : XmlBuilder
- Appends child node
- __toString() : mixed
- attr() : XmlBuilder
- Sets attribute for current node
- getDom() : DOMDocument
- parent() : XmlBuilder
- Traverses to parent
- parents() : XmlBuilder
- Traverses to parent with $name
- val() : XmlBuilder
Properties
$__currentNode__
protected
DOMElement
$__currentNode__
$__dom__
protected
DOMDocument
$__dom__
Methods
__construct()
public
__construct() : mixed
__get()
Appends child node
public
__get(mixed $tag) : XmlBuilder
Parameters
- $tag : mixed
Return values
XmlBuilder__toString()
public
__toString() : mixed
attr()
Sets attribute for current node
public
attr(mixed $attr, mixed $val) : XmlBuilder
Parameters
- $attr : mixed
- $val : mixed
Return values
XmlBuildergetDom()
public
getDom() : DOMDocument
Return values
DOMDocumentparent()
Traverses to parent
public
parent() : XmlBuilder
Return values
XmlBuilderparents()
Traverses to parent with $name
public
parents(mixed $tag) : XmlBuilder
Parameters
- $tag : mixed
Tags
Return values
XmlBuilderval()
public
val(mixed $val) : XmlBuilder
Parameters
- $val : mixed