Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Import data XML ke dalam pangkalan data menggunakan PHP

Import data XML ke dalam pangkalan data menggunakan PHP

WBOY
WBOYasal
2023-08-07 09:58:42721semak imbas

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>

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>';
}

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

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);
}

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();

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!

Kenyataan:
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