Отображение XML-документа в Yii - PullRequest
2 голосов
/ 03 мая 2011

Я хотел бы знать, возможно ли отобразить документ XML с помощью Yii.Я не хочу создавать документ в коде, он уже существует.Я просто хочу показать это в браузере, как обычный вид, за исключением того, что вместо веб-страницы должен отображаться документ XML.Документ XML будет показан, например, при нажатии кнопки.Я надеюсь, что этот вопрос имеет смысл ..

1 Ответ

4 голосов
/ 03 мая 2011

Если вы хотите вернуть 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 .

Надеюсь, это ответит на ваш вопрос?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...