- Автор темы
- #1
вот скрипт
вот проблема: надо мне получить из него вот это к примеру
PHP:
<?php
class Array2XML {
private $writer;
private $version = '1.0';
private $encoding = 'UTF-8';
private $rootName = 'video';
function __construct() {
$this->writer = new XMLWriter();
}
public function convert($data) {
$this->writer->openMemory();
$this->writer->startDocument($this->version, $this->encoding);
$this->writer->startElement($this->rootName);
if (is_array($data)) {
$this->getXML($data);
}
$this->writer->endElement();
return $this->writer->outputMemory();
}
public function setVersion($version) {
$this->version = $version;
}
public function setEncoding($encoding) {
$this->encoding = $encoding;
}
public function setRootName($rootName) {
$this->rootName = $rootName;
}
private function getXML($data) {
foreach ($data as $key => $val) {
if (is_numeric($key)) {
$key = 'key'.$key;
}
if (is_array($val)) {
$this->writer->startElement($key);
$this->getXML($val);
$this->writer->endElement();
}
else {
$this->writer->writeElement($key, $val);
}
}
}
}
header('Content-type: application/xml');
$data = array(
'updated' => 111,
'video' => array(
'title' => 'test test',
'description' => 'test test',
'join_url' => 'test test',
'clip_url' => 'test test',
'screen_url' => 'test test',
'clips' => array(
'clip' => array(
'duration' => 150,
'width' => 'objName',
'height' => 'objName',
'flv' => 'objName'
)
)
)
);
$converter = new Array2XML();
$xmlStr = $converter->convert($data);
echo $xmlStr;
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
ну естественно со своими параметрами. не могу сообразить, как такое сделать? не получается у меня много тегов video, только один. толи цикл, толи массив, а может поспать леч?