我想知道是否可以使用Yii显示XML文档。我不想在代码中创建文档,它已经存在。我只是想在浏览器中将它显示为普通视图,除了应该呈现XML文档而不是网页。例如,只需按一下按钮即可显示XML文档。 我希望这个问题有道理..
答案 0 :(得分:4)
如果您要做的是返回XML文档而不是HTML文档(例如REST API等),只需创建一个具有基本XML的新“xml.php”布局,例如{{1在呈现视图之前的动作中,设置HTTP标头如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes">
此Yii REST how-to article中有更多有用的提示。
<强> -OR - 强>
假设您只想在视图操作中输出带有保留间距和标记字符的XML文档供人们阅读(以及示例类型的事物):
header('Content-Type: text/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字符串包装起来应保留XML缩进,并使用<pre>
对其进行编码应该会阻止浏览器对htmlentities()
进行解析,以便正确显示。{1}}
也可能有一些不错的JavaScript libraries that do XML syntax突出显示。
我希望这能回答你的问题吗?