Bagaimanakah Saya Boleh Mengubah Tatasusunan Berbilang Dimensi kepada XML Menggunakan Pendekatan Berulang?

Patricia Arquette
Lepaskan: 2024-10-20 15:37:29
asal
996 orang telah melayarinya

How Can I Transform Multidimensional Arrays into XML Using an Iterative Approach?

Pendekatan Berulang kepada Lelaran Tatasusunan Berbilang Dimensi

Mentransformasi tatasusunan berbilang dimensi kepada XML boleh dicapai melalui pelbagai teknik. Walaupun kaedah rekursif menyediakan penyelesaian yang komprehensif, artikel ini memfokuskan pada pendekatan berulang menggunakan lelaran tersuai.

Kelas TranformArrayIterator

TranformArrayIterator memanjangkan kelas RecursiveIteratorIterator, menyediakan fungsi tambahan untuk penjanaan XML.

<code class="php">class TranformArrayIterator extends RecursiveIteratorIterator
{
    // Custom functionality for outputting indentation, XML tags, etc.
}</code>
Salin selepas log masuk

Memasang Iterator

Untuk mencipta iterator, kami membalut RecursiveArrayIterator dengan lelaran tersuai kami:

<code class="php">$nodes = ...;
$iterator = new TranformArrayIterator(new RecursiveArrayIterator($nodes));</code>
Salin selepas log masuk

Lelaran dan Pengeluaran

Kami kemudiannya boleh melelakan ke atas iterator, menggemakan output tersuai:

<code class="php">foreach ($iterator as $val) {
    echo $val;
}</code>
Salin selepas log masuk

Format Output

Ini akan menghasilkan output XML berstruktur seperti berikut:

<code class="xml"><nodes>
    <node>parent node</node>
    <node>parent node</node>
    <nodes>
        <node>child node</node>
        <node>child node</node>
        <nodes>
            <node>grand child node</node>
            <node>grand child node</node>
        </nodes>
    </nodes>
</nodes></code>
Salin selepas log masuk

Peningkatan Tambahan

  • Kekunci kosong: Tambah kunci fungsi awam () { kembali ''; } kepada iterator untuk mengosongkan kunci apabila menggunakan $key => $val.
  • Menggunakan XMLWriter: Bekerjasama dengan iterator dengan XMLWriter untuk mendapatkan lebih kawalan dan output XML yang sah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Tatasusunan Berbilang Dimensi kepada XML Menggunakan Pendekatan Berulang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Artikel terbaru oleh pengarang
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!