desperado/xml-bundle
Composer 安装命令:
composer require desperado/xml-bundle
包简介
Symfony XmlBundle
README 文档
README
XML Builder/Reader Bundle for Symfony2
Installation
Using composer
Add desperado/xml-bundle to your composer.json file.
"require": { "desperado/xml-bundle": "dev-master" }
The next thing you should do is install the bundle by executing the following command:
php composer.phar update desperado/xml-bundle
Finally, add the bundle to the registerBundles function of the AppKernel class in the app/AppKernel.php file:
public function registerBundles()
{
$bundles = array(
...
new Desperado\XmlBundle\DesperadoXmlBundle,
...
);
Usage
DIC
- XmlEditor: desperado_xml.model.xml_editor
- XmlGenerator: desperado_xml.model.xml_generator
- XmlReader: desperado_xml.model.xml_reader
- XmlPrepare: desperado_xml.model.xml_prepare
Create xml from array
<?php use Desperado\XmlBundle\Model\XmlGenerator; $params = [ 'Request' => [ '@ns' => [ '0_xmlns' => ['prefix' => 'xsi', 'uri' => 'http//www.w3.org/2001/XMLSchema-instance'], '1_xmlns' => ['prefix' => 'xsd', 'uri' => 'http//www.w3.org/2001/XMLSchema'], ], '@attrib' => [ 'Id' => 100, 'Service' => 200, 'xmlns' => 'http://ekassir.com/ekassir/PaySystem/Server/eKassirV3Protocol' ], 'PaymentParameters' => [ '@attrib' => ['xmlns' => ''], 'Parameter' => [ '@attrib' => ['Name' => 'account'], '@value' => 'emptyAccount' ] ] ] ]; $xmlGenerator = new XmlGenerator; echo $xmlGenerator->generateFromArray($params);
prints:
<?xml version="1.0" encoding="UTF-8"?> <root xmlns:xsi="http//www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http//www.w3.org/2001/XMLSchema"> <Request xmlns="http://ekassir.com/ekassir/PaySystem/Server/eKassirV3Protocol" xmlns:xsi="http//www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http//www.w3.org/2001/XMLSchema" Id="100" Service="200" xsi:xmlns="" xsd:xmlns=""> <PaymentParameters xmlns=""> <Parameter Name="account">emptyAccount</Parameter> </PaymentParameters> </Request> </root>
Create XML without attributes, namespaces, etc.
<?php use Desperado\XmlBundle\Model\XmlPrepare; use Desperado\XmlBundle\Model\XmlGenerator; $params = [ 'Details' => [ 'PaymentParameters' => [ 'first_node' => 'first_node_value', 'second_node' => 'second_node_value' ] ] ]; $xmlPrepare = new XmlPrepare; $xmlGenerator = new XmlGenerator; echo $xmlGenerator->setRootName('request')->generateFromArray($xmlPrepare->prepareArrayBeforeToXmlConvert($params));
prints:
<?xml version="1.0" encoding="UTF-8"?> <request> <Details> <PaymentParameters> <first_node>first_node_value</first_node> <second_node>second_node_value</second_node> </PaymentParameters> </Details> </request>
Parse XML without attributes, namespaces, etc.
<?php use Desperado\XmlBundle\Model\XmlReader; $xmlString = '<?xml version="1.0" encoding="UTF-8"?> <request> <Details> <PaymentParameters> <first_node>first_node_value</first_node> <second_node>second_node_value</second_node> </PaymentParameters> </Details> </request>'; $xmlReader = new XmlReader; print_r($xmlReader->processConvert($xmlString));
prints:
Array ( [Details] => Array ( [PaymentParameters] => Array ( [first_node] => first_node_value [second_node] => second_node_value ) ) )
desperado/xml-bundle 适用场景与选型建议
desperado/xml-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 148.15k 次下载、GitHub Stars 达 9, 最近一次更新时间为 2014 年 07 月 24 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「xml generator」 「Xml Reader」 「Xml Formatter」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 desperado/xml-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 desperado/xml-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 desperado/xml-bundle 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Memio's PrettyPrinter, used to generate PHP code from given Model
Load DOM document safety
laravel facade to read/write csv file
Added a method to Laravel response for handling xml response and also converting Eloquent return to XML.
Uses reflection to map XML to PHP objects.
Xml Template Engine
统计信息
- 总下载量: 148.15k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 9
- 点击次数: 23
- 依赖项目数: 2
- 推荐数: 1
其他信息
- 授权协议: MIT
- 更新时间: 2014-07-24