Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Mengubah Tatasusunan Berbilang Dimensi kepada XML Menggunakan Pendekatan Berulang?

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

Patricia Arquette
Patricia Arquetteasal
2024-10-20 15:37:29996semak imbas

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>

Memasang Iterator

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

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

Lelaran dan Pengeluaran

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

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

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>

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!

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