首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel包bmatovu/laravel-xml。如何在xml响应中删除/更改<document>

Laravel包bmatovu/laravel-xml。如何在xml响应中删除/更改<document>
EN

Stack Overflow用户
提问于 2020-07-26 10:59:46
回答 2查看 388关注 0票数 1

我正在创建一个简单的API,它必须返回XML响应,我安装了bmatovu/laravel包。问题是,我需要使用根标记作为<api/><api>进行响应,但它会自动设置为<document></document>。我怎么才能改变这一切?

我的代码:

代码语言:javascript
复制
    $time = time();
    $data = [
        'api' => [
            'method' => 'call',
            'success' => '1',
            'time' => $time,
        ]
    ];
    return response()->xml($data);

响应:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<document>
<api>
    <method>call</method>
    <success>1</success>
    <time>1595760619</time>
</api>
</document>
EN

回答 2

Stack Overflow用户

发布于 2020-07-26 12:42:36

好的找到了。

必须更改随包安装的XMLresponse.php文件中的这些参数。

代码语言:javascript
复制
    public $options = [
    'root' => 'document',
    'encoding' => 'UTF-8',
    'version' => '1.0',
    'slug' => true,
];
票数 0
EN

Stack Overflow用户

发布于 2022-06-07 03:54:04

你不需要编辑供应商的文件。这应该就够了

代码语言:javascript
复制
Route::get('/users/{user}', function (Request $request, int $userId) {
    $user = User::findOrFail($userId);

    return response()->xml($user, 200, [], ['root' => 'user']);
});

输出

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<user>
    <id>1</id>
    <name>jdoe</name>
    <email>jdoe@example.com</email>
</user>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63099207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档