rummykhan/easy-xml

Convert your data to xml string easily.

Installs: 6 138

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 1

Type:package

1.0.6 2017-11-21 08:07 UTC

This package is not auto-updated.

Last update: 2024-04-28 02:48:10 UTC


README

This package helps you in converting your data to XML easily. This package is independent of any php framework. But I took care of two popular frameworks specifically

  1. For use in Laravel
  2. For use in YII 2.0

To use in any framework

Installation

Install using composer

composer require rummykhan/easy-xml

Wit the constructor initialization you can use it any framework you may like.

$rootNode = new XmlNode('person');

$educationNode = new XmlNode('education');
$educationNode->addAttributes(['MOE' => 'SXC', 'DAE' => 'COE', 'BA' => 'UOS']);
$rootNode->addChildNode($educationNode);

$jobNode = new XmlNode('job');

$jobNode->addAttribute('first', 'https://best-bf.com');
$jobNode->addAttribute('second', 'https://infamous.ae');
$jobNode->addAttribute('third', 'https://awok.com');
$jobNode->addAttribute('fourth', 'https://helpbit.com');

$rootNode->addChildNode($jobNode)
    ->setDeclaration(XmlDeclaration::V1);

// since it implements php __toString() method
dd((string)$rootNode);
// OR
dd($rootNode->toString());

will output

<?xml version="1.0" encoding="UTF-8"?>
<person>
   <education MOE="SXC" DAE="COE" BA="UOS" />
   <job first="https://best-bf.com" second="https://infamous.ae" third="https://awok.com" fourth="https://helpbit.com" />
</person>

RummyKhan\EasyXml\XmlNode API

addChildNode

To add a child node to XmlNode. e.g.

$rootNode = new XmlNode('employees');
$employeeNode = new XmlNode('employee');

$rootNode->addChildNode($employeeNode);

setValue

To set the value of the node. Node can either have other node as children or it has a primitive value.

$rootNode = new XmlNode('name');
$rootNode->setValue('rummykhan');

addAttribute

To add the attribute for the xml node.

$rootNode = new XmlNode('person');
$rootNode->addAttribute('age', 30);

addAttributes

To add multiple attributes for the xml node. e.g.

$rootNode = new XmlNode('person');
$rootNode->addAttributes([
    'name' => 'rummykhan',
    'age' => 30
]);

setDeclaration

To set the Xml declaration

$rootNode = new XmlNode('employees');
$rootNode->setDeclaration('<?xml version="1.0" encoding="UTF-8" standalone="no" ?>');

toString

To convert xml single node or xml node hierarchy to xml string.

$rootNode = new XmlNode('employees');
dd($rootNode->toString());

Contact

rehan_manzoor@outlook.com