You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
payment/app/Helper/Baofu/SdkXML.php

46 lines
1.1 KiB
PHP

<?php
namespace App\Helper\Baofu;
use XMLWriter;
class SdkXML
{
private $version = '1.0';
private $encoding = 'UTF-8';
private $root = 'data_content';
private $xml = null;
public function __construct()
{
$this->xml = new XMLWriter();
}
public function toXml($data, $eIsArray = false)
{
if (!$eIsArray) {
$this->xml->openMemory();
$this->xml->startDocument($this->version, $this->encoding);
$this->xml->startElement($this->root);
}
foreach ($data as $key => $value) {
if (is_array($value)) {
$this->xml->startElement($key);
$this->toXml($value, TRUE);
$this->xml->endElement();
continue;
}
$this->xml->writeElement($key, $value);
}
if (!$eIsArray) {
$this->xml->endElement();
return $this->xml->outputMemory(true);
}
}
public static function XTA($xmlstring)
{
return json_decode(json_encode((array) simplexml_load_string($xmlstring)), true);
}
}