Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Memformat Output XML dengan Benar daripada PHP?

Bagaimanakah Saya Boleh Memformat Output XML dengan Benar daripada PHP?

Susan Sarandon
Susan Sarandonasal
2024-11-25 02:01:18701semak imbas

How Can I Properly Format XML Output from PHP?

XML PHP: Memaparkan XML dalam Cara Terformat

Artikel ini membincangkan isu pemformatan output XML daripada PHP. Dalam kod yang disediakan, mencetak XML ke penyemak imbas menghasilkan output yang diratakan tanpa lekukan atau pemisah baris. Untuk menyelesaikan masalah ini, kami boleh menggunakan fungsi PHP untuk mempertingkatkan pemformatan.

Langkah pertama melibatkan penetapan preserveWhiteSpace dan sifat formatOutput instance DomDocument:

$doc->preserveWhiteSpace = false;
$doc->formatOutput = true;

Menetapkan preserveWhiteSpace kepada false membuang berlebihan ruang kosong dalam XML, manakala formatOutput mengarahkan PHP untuk memformat XML mengikutnya struktur.

Sebagai alternatif, sifat ini boleh ditetapkan semasa pembuatan DomDocument:

$doc = new DomDocument('1.0');
$doc->preserveWhiteSpace = false;
$doc->formatOutput = true;

XML yang diformatkan kini akan dipaparkan dengan lekukan dan pemisah baris yang betul:

<?xml version="1.0"?>
<root>
  <error>
    <a>eee</a>
    <b>sd</b>
    <c>df</c>
  </error>
  <error>
    <a>eee</a>
    <b>sd</b>
    <c>df</c>
  </error>
  <error>
    <a>eee</a>
    <b>sd</b>
    <c>df</c>
  </error>
</root>

Untuk penyesuaian tambahan, kami boleh menggunakan ungkapan biasa untuk menggantikan ruang dengan tab:

$xml_string = preg_replace('/(?:^|\G)  /um', "\t", $xml_string);

Akhir sekali, kami juga boleh menggunakan sambungan kemas (jika ada) dengan fungsi tidy_repair_string untuk memformat XML:

tidy_repair_string($xml_string, ['input-xml'=> 1, 'indent' => 1, 'wrap' => 0]);

Kaedah ini membenarkan kawalan tepat ke atas lekukan tahap tetapi tidak akan menghasilkan lekukan tab.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memformat Output XML dengan Benar daripada 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