gpt4 book ai didi

mysql - 如何在 Laravel 5 中将数据从 mysql 存储到 XML?

转载 作者:行者123 更新时间:2023-11-29 04:19:22 25 4
gpt4 key购买 nike

我需要从 MySQL 获取数据到 XML 并在 Laravel 5 中回显它。

这是我传统上的做法:

    $query = "SELECT * FROM table";
$result = mysql_query($query);

$dom = new DOMDocument("1.0");
$parnode = $dom->appendChild($node);

while ($row = @mysql_fetch_assoc($result)){

$node = $dom->createElement("data");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("username",$row['username']);
$newnode->setAttribute("login_attemp", $row['login_attemp']);
$newnode->setAttribute("mobile", $row['mobile']);
$newnode->setAttribute("email", $row['email']);
$newnode->setAttribute("type", $row['type']);
}

echo $dom->saveXML();

现在,我想在 Laravel 5 中完成同样的工作,请帮助我

提前致谢

最佳答案

从你的问题来看,问题似乎不太清楚。

您使用模型获取数据,然后像以前一样通过使用 DOMDocument 将其转换为 xml,或者使用 XMLWriter 可能更好,即

use Illuminate\Support\Facades\Response;
use App\User;

Route::get('/users/xml', function() {
$users = User::all();

$xml = new XMLWriter();
$xml->openMemory();
$xml->startDocument();
$xml->startElement('users');
foreach($users as $user) {
$xml->startElement('data');
$xml->writeAttribute('id', $user->id);
$xml->writeAttribute('firstname', $user->firstname);
$xml->writeAttribute('lastname', $user->lastname);
$xml->writeAttribute('email', $user->email);
$xml->endElement();
}
$xml->endElement();
$xml->endDocument();

$content = $xml->outputMemory();
$xml = null;

return response($content)->header('Content-Type', 'text/xml');
});

示例输出:

<?xml version="1.0"?>
<users>
<data id="1" firstname="John" lastname="Doe" email="john@example.com"/>
<data id="2" firstname="Mark" lastname="Lee" email="mark@example.com"/>
<data id="3" firstname="Jane" lastname="Doe" email="jane@example.com"/>
</users>

关于mysql - 如何在 Laravel 5 中将数据从 mysql 存储到 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30014960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com