我有一个代码,如:
<?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)或者是此功能稍后被删除?
解决方法
我认为没有办法做到这一点,没有创建我自己的格式