我有一个代码,例如:
<?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)或者是这个功能后来被删除了?
最佳答案
我认为没有办法做到这一点,而不创建我自己的格式
关于php - Luracast ReSTLer 3 RC6 : How to rename XML objects names,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34183211/