SimpleXMLElement-> asXML (), выводящий неверную строку - PullRequest
1 голос
/ 28 февраля 2012

У меня есть функция php, которая преобразует иерархию объектов в xml.asXML не работает, как ожидалось.Кто-нибудь может сказать мне, почему это:

            $oReportXML = new SimpleXMLElement("<report></report>");
    $oReportXML->addChild('details');
    $oReportXML->addChild('configuration');
    $oReportXML->addChild('datasources');
    $oReportXML->addChild('styles');
    $oReportXML->addChild('classes');
    $oReportXML->addChild('tables');

    $oReportXML->details->addChild('author',$this->iAuthor);
    $oReportXML->details->addChild('date_created',$this->iDateCreated);
    $oReportXML->details->addChild('date_modified',$this->iLastModifiedDate);
    $oReportXML->details->addChild('modified_by',$this->iLastModifiedBy);
    $oReportXML->details->addChild('id',$this->iReportID);
    print_r($this);
    print "<p>".$oReportXML->asXML()."</p>";

выведет это:

Report Object ( [iAuthor] => 1 [iDateCreated] => 11 [iLastModifiedDate] => 1330435328 [iLastModifiedBy] => 1378 [iReportID] => 0 [sSubject] => sSubject [iCategory] => iCategory [sKeywords] => sKeywords [sDescription] => sDescription [sTitle] => IGNORE_ME [aTables] => Array ( ) [aClasses] => Array ( ) [aDataSources] => Array ( ) [aStyles] => Array ( ) [oParent:private] => )

111133043532813780

Ответы [ 2 ]

3 голосов
/ 28 февраля 2012
 print "<p>".htmlentities ($oReportXML->asXML())."</p>";

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

0 голосов
/ 28 февраля 2012

если вы просматриваете вывод в браузере, вы увидите только значения, так как браузеры не визуализируют теги. Посмотрите на исходный код или добавьте заголовок ('Content-type: text / xml'); сказать браузеру, что он должен отображать XML

...