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!