我有一个代码,如:
<?php
class Files {
protected function get() {
return array(
'files' => array(
'file' => array(
array(
'filename' => 'test1.jpg',
'modified' => '2015-01-01 00:00:00',
),
array(
'filename' => 'test2.jpg',
'modified' => '2015-01-02 00:00:00',
),
array(
'filename' => 'test3.jpg',
'modified' => '2015-01-03 00:00:00',
),
),
)
);
}
}
JSON输出是:
{
"files": {
"file": [
{
"filename": "test1.jpg",
"modified": "2015-01-01 00:00:00"
},
{
"filename": "test2.jpg",
"modified": "2015-01-02 00:00:00"
},
{
"filename": "test3.jpg",
"modified": "2015-01-03 00:00:00"
}
]
}
}
XML输出:
<response>
<files>
<file>
<item>
<filename>test1.jpg</filename>
<modified>2015-01-01 00:00:00</modified>
</item>
<item>
<filename>test2.jpg</filename>
<modified>2015-01-02 00:00:00</modified>
</item>
<item>
<filename>test3.jpg</filename>
<modified>2015-01-03 00:00:00</modified>
</item>
</file>
</files>
</response>
问题是我希望文件位于< file>内标签,不在< item>内标签.
这是我想要获得的示例XML输出:
<response>
<files>
<file>
<filename>test1.jpg</filename>
<modified>2015-01-01 00:00:00</modified>
</file>
<file>
<filename>test2.jpg</filename>
<modified>2015-01-02 00:00:00</modified>
</file>
<file>
<filename>test3.jpg</filename>
<modified>2015-01-03 00:00:00</modified>
</file>
</files>
</response>
我怎样才能做到这一点?
我已经尝试了很多我可能想到的一切,没有运气.
我尝试了以下答案,但没有帮助.我想答案是Restler 1或2,因为它太旧了:
Luracast Restler: “Naming” returned objects
编辑:
更改XmlFormat :: $defaultTagName =’file’;或类似的东西不是一个选项,因为我需要重命名其他< item>标签也在同一个请求中.
编辑2:
我知道这可以通过创建我自己的“XmlFormat.php”文件来实现,该文件具有我想要的格式,但是当前的原始版本是否支持这种自定义(根据这个答案:Luracast Restler: “Naming” returned objects)或者是此功能稍后被删除?
最佳答案 我认为没有办法做到这一点,没有创建我自己的格式