Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar data XML kepada tatasusunan dalam php (dua kaedah)

Bagaimana untuk menukar data XML kepada tatasusunan dalam php (dua kaedah)

PHPz
Lepaskan: 2023-04-14 17:40:52
asal
1776 orang telah melayarinya

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas untuk pengaturcaraan sebelah pelayan, manakala XML ialah bahasa penanda boleh diperluas yang digunakan oleh banyak aplikasi untuk menyimpan dan menghantar data. Dalam PHP, kita boleh menukar XML kepada tatasusunan dengan mudah Dengan menggunakan teknologi ini, kita boleh memproses dan memanipulasi data XML dengan mudah.

PHP menyediakan pelbagai kaedah untuk menukar XML kepada tatasusunan Di bawah kami akan memperkenalkan dua kaedah yang biasa digunakan.

Kaedah 1: Gunakan sambungan XML ringkas

Pelanjutan XML ringkas ialah sambungan yang disertakan dengan PHP, yang boleh membantu kami menukar data XML kepada tatasusunan PHP dengan cepat. Kita hanya perlu memanggil fungsi simplexml_load_string(), yang akan mengembalikan objek SimpleXMLElement berdasarkan rentetan XML Kita boleh mendapatkan data XML melalui sifat dan kaedah objek.

Berikut ialah contoh mudah:

$xmlString = '<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="COOKING">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="CHILDREN">
    <title lang="en">Harry Potter</title>
    <author>J.K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
</bookstore>';

$xml = simplexml_load_string($xmlString);

print_r($xml);
Salin selepas log masuk

Hasil output adalah seperti berikut:

SimpleXMLElement Object
(
    [book] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [category] => COOKING
                        )

                    [title] => Everyday Italian
                    [author] => Giada De Laurentiis
                    [year] => 2005
                    [price] => 30.00
                )

            [1] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [category] => CHILDREN
                        )

                    [title] => Harry Potter
                    [author] => J.K. Rowling
                    [year] => 2005
                    [price] => 29.99
                )
        )
)
Salin selepas log masuk

Kita dapat melihat bahawa objek SimpleXMLElement ditukar kepada tatasusunan , setiap Nod menjadi elemen tatasusunan, dan atributnya juga menjadi pasangan nilai kunci.

Kaedah 2: Gunakan sambungan PHP DOM

sambungan PHP DOM ialah sambungan PHP yang digunakan secara meluas yang boleh digunakan untuk memproses dan memanipulasi dokumen XML dan HTML. Kita boleh menggunakan kaedah yang disediakan untuk menukar fail XML kepada objek DOM, dan kemudian menukarnya kepada tatasusunan melalui kaedah berkaitan DOM.

Berikut ialah contoh mudah:

$xmlString = '<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="COOKING">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="CHILDREN">
    <title lang="en">Harry Potter</title>
    <author>J.K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
</bookstore>';

$dom = new DOMDocument();
$dom->loadXML($xmlString);
$books = $dom->getElementsByTagName('book');
$data = array();

foreach ($books as $book) {
    $bookData = array(
        'category' => $book->getAttribute('category'),
        'title' => $book->getElementsByTagName('title')->item(0)->nodeValue,
        'author' => $book->getElementsByTagName('author')->item(0)->nodeValue,
        'year' => $book->getElementsByTagName('year')->item(0)->nodeValue,
        'price' => $book->getElementsByTagName('price')->item(0)->nodeValue
    );

    $data[] = $bookData;
}

print_r($data);
Salin selepas log masuk

Outputnya adalah seperti berikut:

Array
(
    [0] => Array
        (
            [category] => COOKING
            [title] => Everyday Italian
            [author] => Giada De Laurentiis
            [year] => 2005
            [price] => 30.00
        )

    [1] => Array
        (
            [category] => CHILDREN
            [title] => Harry Potter
            [author] => J.K. Rowling
            [year] => 2005
            [price] => 29.99
        )
)
Salin selepas log masuk

Kami dapat melihat bahawa menggunakan sambungan PHP DOM, kami boleh menukar XML fail Tukarkannya kepada objek DOM, gunakan kaedah yang disediakan oleh objek DOM untuk mendapatkan nilai setiap nod, dan akhirnya menukarnya kepada tatasusunan PHP.

Ringkasan

Sama ada anda menggunakan sambungan XML ringkas atau sambungan PHP DOM, anda boleh menukar fail XML kepada tatasusunan PHP dengan mudah. Kita hanya perlu memilih kaedah yang sesuai mengikut keperluan kita. Menggunakan tatasusunan PHP, kami boleh memproses dan memanipulasi data XML dengan mudah.

Atas ialah kandungan terperinci Bagaimana untuk menukar data XML kepada tatasusunan dalam php (dua kaedah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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