Если вы хотите вернуть XML-документ вместо HTML-документа (например, для REST API или чего-то еще), просто создайте новый макет 'xml.php' с базовым XML, что-то вроде <?xml version="1.0" encoding="UTF-8" standalone="yes">
и в своем действии перед рендерингом представления установите заголовок HTTP следующим образом:
header('Content-Type: text/xml');
В этой статье Yii REST .
есть и другие полезные советы.
1010 * -ИЛИ- *
Предполагая, что вы просто хотите вывести документ XML с сохраненными пробелами и символами тегов, чтобы люди могли читать (и пример такого рода вещи), в вашем действии вида:
<?php
public function actionView()
{
$output = $myXMLString; // I don't know where you are getting your XML from, but this is it
$output = htmlentities($output); // convert HTML/XML tags like < to their HTML codes ($lt;))
$this->render('view',array(
'xmlString'=>htmlentities($output), // send it to the view for rendering
));
}
Тогда, на ваш взгляд:
<pre>
<?php echo $xmlString ?>
<pre>
Заключение вашей строки XML в теги <pre>
, когда эхо должно сохранить отступ XML, а кодирование с помощью htmlentities()
должно препятствовать синтаксическому анализу вашего <xmltags>
браузером, чтобы они отображались правильно.
Возможно, есть несколько хороших библиотек JavaScript, которые также выделяют синтаксис XML .
Надеюсь, это ответит на ваш вопрос?