Skip to content

rummykhan/easy-xml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EasyXML

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

[email protected]