使用PHP提取XML信息并插入数据库
目前我有以下代码,我所做的是从XML中提取信息,然后生成一个CSV以手动导入数据库。但我正在考虑避免生成CSV文件的可能性,更好地自动将提取的内容插入数据库使用PHP提取XML信息并插入数据库,php,xml,csv,mysqli,meekro,Php,Xml,Csv,Mysqli,Meekro,目前我有以下代码,我所做的是从XML中提取信息,然后生成一个CSV以手动导入数据库。但我正在考虑避免生成CSV文件的可能性,更好地自动将提取的内容插入数据库 <?php require_once 'app/config.php'; $xml = simplexml_load_file('xml/products.xml'); $codes = []; foreach($xml->products as $i => $product) {
<?php
require_once 'app/config.php';
$xml = simplexml_load_file('xml/products.xml');
$codes = [];
foreach($xml->products as $i => $product) {
$data = [];
$data[] = (string)$product->key;
$data[] = (string)$product->price;
$data[] = (string)$product->quantity;
$codes[] = $data;
}
$fp = fopen('products.csv', 'w');
foreach ($codes as $code) {
fputcsv($fp, $code);
echo implode(',', $code) . '<br>';
}
fclose($fp);
?>
我用来与数据库通信,所以它可能是这样的:
DB::insert('products', array(
'key' => A10001,
'price' => 18.50,
'quantity' => 85
));
有人能帮我在数据库中插入所有信息以保存导出和导入文件的过程吗?提前感谢您的时间。看起来不错,只需在foreach@Viney我理解,问题是我不知道如何单独获取数据,我可以进行插入,但我不能单独获取,例如key$product->key;因为我只得到第一个字段。@Viney'key'=>???、'price'=>??、'quantity'=>???请尝试
$data['key']=(字符串)$product->key
(对其他变量重复)然后您可以调用DB::insert('products',$code)代码>在foreach
循环中。
DB::insert('products', array(
'key' => A10001,
'price' => 18.50,
'quantity' => 85
));