Со ссылкой на решение Фабрицио, это позволит вам редактировать стили через .css:
нагрузки и вывода XML в представлении:
/views/site/xml.php
<?php echo file_get_contents(Yii::getAlias('@app/web/').'doc.xml');
Как вы можете видеть , Я поместил свой XML-документ в папку web
, вы можете настроить его в соответствии с вашими требованиями.
В контроллере создать действие для отображения вида:
public function actionXml() {
Yii::$app->response->format = \yii\web\Response::FORMAT_RAW;
Yii::$app->response->headers->add('Content-Type', 'text/xml');
return $this->renderPartial('xml');
}
Обратите внимание, что FORMAT_XML
метод \yii\web\Response
класса, указанного в решении Фабрицио будет обернуть ваш XML в <response>...</response>
тегах, и в то числе фактических данных в виде текста в <span>...</span>
.
Вместо этого убедитесь, что у вас есть ссылка на таблицу стилей в вашем XML-разметки:
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/css" href="/css/doc.css"?>
Еще раз, не стесняйтесь, чтобы настроить расположение .css
в соответствии с вашими потребностями.
В файле .css
, просто обратитесь к вашему XML-сущностям, как вы бы с HTML тегами:
RootEntity {
display: block;
}
Надеется, что это помогает!
Да, это работает, но мне нужно найти форматирующий код для отображения xml с подсветкой кода в html. Мне нужно найти способ отображения XML-файла в поле html. С вашим примером, могу ли я сделать это для достижения этого? – Lackeeee
Я сделал следующий, В контроллере: \ Yii :: $ app-> response-> format = \ yii \ web \ Response :: FORMAT_HTML; $ xmlOutput = htmlentities ($ xml); return $ this-> render ('thirdstep', ['xml' => $ xmlOutput]); И на вид:
– Lackeeee