Import data XML ke dalam pangkalan data menggunakan PHP

WBOY
Lepaskan: 2023-08-07 10:00:02
asal
759 orang telah melayarinya

Gunakan PHP untuk mengimport data XML ke dalam pangkalan data

Pengenalan:
Semasa pembangunan, kita selalunya perlu mengimport data luaran ke dalam pangkalan data untuk pemprosesan dan analisis selanjutnya. Sebagai format pertukaran data yang biasa digunakan, XML sering digunakan untuk menyimpan dan menghantar data berstruktur. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mengimport data XML ke dalam pangkalan data.

Langkah 1: Menghuraikan fail XML
Mula-mula, kita perlu menghuraikan fail XML dan mengekstrak data yang diperlukan. PHP menyediakan beberapa cara untuk menghuraikan XML, yang paling biasa digunakan ialah menggunakan sambungan SimpleXML. Berikut ialah contoh fail XML yang mudah:

<data>
  <item>
    <name>Item 1</name>
    <price>19.99</price>
  </item>
  <item>
    <name>Item 2</name>
    <price>29.99</price>
  </item>
  <item>
    <name>Item 3</name>
    <price>39.99</price>
  </item>
</data>
Salin selepas log masuk

Kami boleh menghuraikan dan mengeluarkan data dalam fail XML melalui kod berikut:

$xml = simplexml_load_file('data.xml');
foreach ($xml->item as $item) {
    echo 'Name: ' . $item->name . ', Price: ' . $item->price . '<br>';
}
Salin selepas log masuk

Menjalankan kod di atas akan mengeluarkan hasil berikut:

Name: Item 1, Price: 19.99
Name: Item 2, Price: 29.99
Name: Item 3, Price: 39.99
Salin selepas log masuk

Langkah 2: Sambung ke pangkalan data
Seterusnya, kita perlu menyambung ke pangkalan data dan mencipta jadual untuk menyimpan data yang kita huraikan. Diandaikan di sini bahawa kami menggunakan pangkalan data MySQL sebagai contoh.

$host = 'localhost';
$db = 'database';
$user = 'username';
$pass = 'password';

// 连接到数据库
$conn = new mysqli($host, $user, $pass, $db);
if ($conn->connect_error) {
    die('连接数据库失败:' . $conn->connect_error);
}

// 创建表(如果不存在)
$sql = "CREATE TABLE IF NOT EXISTS items (
    name VARCHAR(100) NOT NULL,
    price DECIMAL(10, 2) NOT NULL
)";
if ($conn->query($sql) !== true) {
    die('创建表失败:' . $conn->error);
}
Salin selepas log masuk

Langkah 3: Masukkan data
Kini kita boleh memasukkan data yang dihuraikan ke dalam jadual dalam pangkalan data.

foreach ($xml->item as $item) {
    $name = $conn->real_escape_string($item->name);
    $price = (float) $item->price;
    
    // 插入记录
    $sql = "INSERT INTO items (name, price) VALUES ('$name', '$price')";
    if ($conn->query($sql) !== true) {
        echo '插入记录失败:' . $conn->error;
    }
}

// 关闭数据库连接
$conn->close();
Salin selepas log masuk

Akhir sekali, kita perlu membaca data dalam fail XML baris demi baris dan memasukkannya ke dalam jadual pangkalan data. Semasa penyisipan, kami menggunakan real_escape_string untuk melarikan watak khas untuk mengelakkan serangan suntikan. Pada masa yang sama, kami juga memproses medan harga dan menukarnya kepada format titik terapung.

Ringkasan:
Artikel ini menerangkan cara mengimport data XML ke dalam pangkalan data menggunakan PHP. Pertama, kami menggunakan sambungan SimpleXML untuk menghuraikan fail XML dan mengekstrak data yang diperlukan. Kemudian, kami menyambung ke pangkalan data, mencipta jadual, dan akhirnya memasukkan data ke dalam jadual. Proses ini boleh digunakan dengan mudah untuk mengimport data luaran ke dalam pangkalan data, memberikan kemudahan untuk pemprosesan dan analisis data seterusnya.

Rujukan:

  • [PHP: SimpleXML](https://www.php.net/manual/en/book.simplexml.php)
  • [PHP: mysqli](https://www.php. net /manual/en/book.mysqli.php)

Lagi contoh kod:

  • [repositori GitHub](https://github.com/example-repo)

Atas ialah kandungan terperinci Import data XML ke dalam pangkalan data menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!