rummykhan/easy-xml

轻松将数据转换为XML字符串。

安装量: 6,267

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放性问题: 1

类型:软件包

1.0.6 2017-11-21 08:07 UTC

This package is not auto-updated.

Last update: 2024-09-15 04:47:20 UTC


README

此软件包帮助您轻松地将数据转换为XML。此软件包不依赖于任何PHP框架。但我特别关注了两个流行的框架:

  1. 用于Laravel
  2. 用于YII 2.0

用于任何框架

安装

使用composer安装

composer require rummykhan/easy-xml

通过构造函数初始化,您可以使用任何您喜欢的框架。

$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());

将输出

<?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

向XmlNode添加子节点。例如:

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

$rootNode->addChildNode($employeeNode);

setValue

设置节点的值。节点可以有其他节点作为子节点,也可以有原始值。

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

addAttribute

为XML节点添加属性。

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

addAttributes

为XML节点添加多个属性。例如:

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

setDeclaration

设置XML声明

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

toString

将单个XML节点或XML节点层次结构转换为XML字符串。

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

联系

rehan_manzoor@outlook.com