请问如何配置 \yii\web\Response::FORMAT_XML 中的 formatters [ 2.0 版本 ]
例如如下代码:
public function actionTest () {
return \Yii::createObject([
'class' => 'yii\web\Response',
'format' => \yii\web\Response::FORMAT_XML,
'formatters' => [
\yii\web\Response::FORMAT_XML => [
'class' => 'yii\web\XmlResponseFormatter',
'rootTag' => 'urlset', //根节点
'itemTag' => 'url', //单元
],
],
'data' => [ //要输出的数据
[
'loc' => 'http://********',
],
],
]);
}
但是我想输出的xml 结构如下,我该怎么配置我的formatters
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
<url>
<loc>http://www.example.org/business/article55.html</loc>
<news:news>
<news:publication>
<news:name>The Example Times</news:name>
<news:language>en</news:language>
</news:publication>
<news:publication_date>2008-12-23</news:publication_date>
<news:title>Companies A, B in Merger Talks</news:title>
</news:news>
</url>
</urlset>
请问如何改写?
acking 补充于 2020-04-24 17:18
另外请问 urlset中 xmlns属性该如何设置?
例如:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
共 1 个回答
-
news:news 中间不能有冒号,改写后如下
return \Yii::createObject([ 'class' => 'yii\web\Response', 'format' => \yii\web\Response::FORMAT_XML, 'formatters' => [ \yii\web\Response::FORMAT_XML => [ 'class' => 'yii\web\XmlResponseFormatter', 'rootTag' => 'urlset', //根节点 'itemTag' => 'url', //单元 ], ], 'data' => [ //要输出的数据 [ 'loc' => 'http://********', 'newsnews' => [ 'newsname' => 'The Example Times', ] ], ], ]);
共 1 条回复
acking 上海
注册时间:2012-05-16
最后登录:2024-05-25
在线时长:65小时55分
最后登录:2024-05-25
在线时长:65小时55分
- 粉丝13
- 金钱2565
- 威望0
- 积分3215