antimattr / xml
此包已被弃用且不再维护。未建议替代包。
用于SimpleXMLElement的XML构建器
v1.0.0
2014-10-31 23:33 UTC
Requires
- php: >=5.3.2
Requires (Dev)
- antimattr/test-case: ~1.0@stable
- fabpot/php-cs-fixer: 0.4.*@dev
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2018-07-08 20:50:09 UTC
README
AntiMattr XML库,为SimpleXMLElement提供XML构建支持。
安装
将以下内容添加到您的composer.json文件中
{ "require": { "antimattr/xml": "~1.0@stable" } }
通过运行以下命令安装库
composer install
如果一切顺利,XML库现在可以在vendor/antimattr/xml中找到。
示例
测试目录中有许多示例,以下是基本示例
注意:支持普通数组。要处理“属性”以及“索引数组与关联数组”等场景,请注意数组键的存在
'_name'
'_attributes'
'_values'
单个节点
<?xml version="1.0" encoding="UTF-8"?> <root> <product/> </root>
$root = $this->builder ->setRoot('root') ->create(); $data = array( 'product' => array() ); $this->builder->add($root, $data); $xml = $root->asXML();
多个节点
<?xml version="1.0" encoding="UTF-8"?> <root> <product/> <foo/> <bar/> </root>
$root = $this->builder ->setRoot('root') ->create(); $data = array( 'product' => array(), 'foo' => array(), 'bar' => array() ); $this->builder->add($root, $data); $xml = $root->asXML();
多个重复节点
<?xml version="1.0" encoding="UTF-8"?> <root> <product/> <product/> <product/> </root>
$root = $this->builder ->setRoot('root') ->create(); $data = array( 0 => array('_name' => 'product'), 1 => array('_name' => 'product'), 2 => array('_name' => 'product') ); $this->builder->add($root, $data); $xml = $root->asXML();
子节点和属性
<?xml version="1.0" encoding="UTF-8"?> <root> <product> <item foo5="bar5" example5="test5"/> </product> </root>
$root = $this->builder ->setRoot('root') ->create(); $data = array( 'product' => array( '_values' => array( 'item' => array( '_attributes' => array('foo5' => 'bar5', 'example5' => 'test5') ), ) ) ); $this->builder->add($root, $data); $xml = $root->asXML();
拉取请求
拉取请求 - PSR标准
请使用预提交钩子将所有代码修复到PSR标准
一次性安装
./bin/install.sh
Copying /antimattr-xml/bin/pre-commit.sh -> /antimattr-xml/bin/../.git/hooks/pre-commit
拉取请求 - 测试
请确保测试通过
$ vendor/bin/phpunit tests
拉取请求 - 代码嗅探器和修复器
如果预提交钩子未运行,请确保手动运行修复器/嗅探器
$ vendor/bin/php-cs-fixer fix src/ $ vendor/bin/php-cs-fixer fix tests/