Есть ли способ конвертировать XML в Activeform / Database? (Yii2) - PullRequest
0 голосов
/ 28 февраля 2020

Я все еще довольно новичок в Yii2 и пытался выяснить, можно ли загрузить файл XML в activeform, который затем может быть загружен в базу данных, и эти данные затем будут доступны для просмотра любому, у кого есть доступ permissions.

Я посмотрел в Интернете и увидел, что вы можете загрузить файл XML, но отобразить его как необработанные данные, я смотрел на них, но не могу понять, как бы я go о преобразовании его в активную форму.

Редактировать: Или, если есть возможность загрузить файл XML в базу данных напрямую, будет работать.

1 Ответ

0 голосов
/ 28 февраля 2020
$model = new XMLFileUpload();
    $testupload = new test();
    if (Yii::$app->request->isPost)
    {
        $model->file = UploadedFile::getInstance($model, 'file');

        if ($model->file && $model->validate())
        {
            $model->file->saveAs('uploads/' .$model->file->baseName . '.' . $model->file->extension);
            $xmlfile = file_get_contents('uploads/' .$model->file->baseName . '.' . $model->file->extension);
            $xmlob = simplexml_load_string($xmlfile);
            $xmljson = json_encode($xmlob);
            $xmlarray = json_decode($xmljson, true);
            $testupload->attributes = $xmlarray;
            $testupload->save(false);
        }
    }
...