вывод определенной части массива в XML - PullRequest
0 голосов
/ 05 января 2012

Я встраиваю некоторые средства управления ошибками в свой сценарий, и мне нужен совет о том, как заставить его работать правильно.

Я не совсем понимаю, как на самом деле выводить мои сообщения в функцию результата.Мой сценарий начинается с оператора IF и, если есть проблема, он выберет одну из ошибок из моей функции ошибок.(Как бы я конкретно выбрал, какую ошибку?)

Итак, для начала у меня есть:

if ($_GET)
{

    // run function

} else {

    return $this->error();

} 

Теперь функция ошибки:

private function error($errnum=1000) {
$data = array(
  'error' => array(
    '1000' => 'Required parameter is missing',
    '1100' => 'Parameter not recognized',
    '2000' => 'Currency type not recognized',
    '2100' => 'Currency amount must be to 2 decimal places',
    '3000' => 'Service currently unavailable',
    '3100' => 'Error in service'
  )
);  
$this->result($data);
}  

И наконец результатфункция:

private function result($data=array(),$type='XML') {
    switch(strtolower($type)) {     
        case 'xml':

            header("Content-type: text/html"); // Set header type to XML
            $output = new SimpleXMLElement('<conv/>'); // Convert our php array to simpleXML
            array_walk_recursive($data, array ($output, 'addChild'));
            echo $output->asXML();

        break;
    }
    exit;
}

1 Ответ

0 голосов
/ 06 января 2012

Именно эта строка вызывала проблему:

$ this-> result ($ data);

Мне пришлось изменить переменную data в массив.

...