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

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

PHPz
PHPzasal
2023-04-14 17:40:271743semak imbas

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

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

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

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

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!

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
Artikel sebelumnya:Apakah maksud jenis dalam phpArtikel seterusnya:Apakah maksud jenis dalam php