Rumah > hujung hadapan web > tutorial js > Cara Membuat XML ke JSON Proxy Server di PHP

Cara Membuat XML ke JSON Proxy Server di PHP

William Shakespeare
Lepaskan: 2025-03-02 00:13:09
asal
799 orang telah melayarinya

Artikel ini menunjukkan membina PHP XML ke JSON Proxy Server. Pendekatan ini menawarkan penyelesaian praktikal untuk memanfaatkan kelebihan pertukaran data XML sambil mempermudahkan interaksi JavaScript klien menggunakan format JSON yang lebih diperkemas.

How to Create an XML to JSON Proxy Server in PHP

Manfaat Utama:

  • JavaScript yang dipermudahkan: mengelakkan kerumitan secara langsung mengendalikan XML dalam JavaScript.
  • pertukaran data XML: mengekalkan penggunaan XML untuk pertukaran data antara sistem yang pelbagai.
  • pemprosesan JSON yang cekap: pemprosesan sisi klien lebih cepat dan lebih mudah dengan JSON. Akses cross-domain:
  • membolehkan mengakses perkhidmatan web pada domain yang berbeza, batasan yang sering dihadapi dengan penyelesaian JavaScript semata-mata.
  • Penapisan Data (Potensi):
  • Pelayan proksi berpotensi diperluaskan untuk menapis data yang tidak perlu, mengurangkan saiz muatan.
  • Bagaimana ia berfungsi:

Sistem ini terdiri daripada dua bahagian: pelayan proksi PHP dan klien JavaScript.

JavaScript Client:
    menghantar permintaan AJAX kepada proksi PHP, termasuk URL XML sasaran sebagai parameter GET ().
  1. PHP PHP Proxy Server: url
  2. menggunakan curl untuk mengambil data XML dari url yang ditentukan.
  3. Parses XML menggunakan .
    • menukarkan XML yang dihuraikan ke JSON menggunakan
    • .
    • SimpleXMLElement Mengembalikan data JSON kepada klien JavaScript. Termasuk pengendalian ralat untuk mengelakkan kesilapan PHP daripada mencapai klien.
    • json_encode
    • kod php (xmlproxy.php):
Skrip PHP menggunakan penindasan kesilapan () dan pengendali pengecualian tersuai (

) untuk pengurusan ralat yang mantap. Ia mengambil data XML menggunakan curl, menukarkannya ke JSON, dan mengembalikan hasilnya. Sekiranya ralat berlaku semasa pengambilan atau parsing, bendera ralat JSON dikembalikan.

kod javascript (proxy.html - contoh): ini_set('display_errors', false) ReturnError()

Kod JavaScript mentakrifkan URL XML jauh, membuat permintaan AJAX kepada proksi PHP, dan mengendalikan tindak balas JSON. Ia menggunakan sandaran untuk penyemak imbas yang lebih tua yang kurang asli
<?php
ini_set('display_errors', false);
set_exception_handler('ReturnError');

$r = '';
$url = (isset($_GET['url']) ? $_GET['url'] : null);

if ($url) {
    $c = curl_init();
    curl_setopt_array($c, array(
        CURLOPT_URL => $url,
        CURLOPT_HEADER => false,
        CURLOPT_TIMEOUT => 10,
        CURLOPT_RETURNTRANSFER => true
    ));
    $r = curl_exec($c);
    curl_close($c);
}

if ($r) {
    echo json_encode(new SimpleXMLElement($r));
} else {
    ReturnError();
}

function ReturnError() {
    echo '{"error":true}';
}
?>
Salin selepas log masuk
.

Pengendalian atribut XML:

JSON.parse fungsi

dalam php mengendalikan atribut XML dengan membuat objek
// example XML feed
var url = "http://domain.com/example.xml?status=123&date=2011-01-01";

// AJAX request
var xhr = (window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"));
xhr.onreadystatechange = XHRhandler;
xhr.open("GET", "xmlproxy.php?url=" + escape(url), true);
xhr.send(null);

// handle response
function XHRhandler() {
    if (xhr.readyState == 4) {
        var json;
        if (JSON && JSON.parse) {
            json = JSON.parse(xhr.responseText);
        } else {
            eval("var json = " + xhr.responseText);
        }
        console.log(json);
        xhr = null;
    }
}
Salin selepas log masuk
dalam output JSON.

Soalan Lazim (Soalan Lazim):

json_encode Seksyen FAQ yang disediakan menawarkan gambaran menyeluruh mengenai perbezaan XML dan JSON, teknik penukaran, pengendalian ralat, dan strategi pengoptimuman dalam konteks PHP.

ingat untuk menggunakan xmlproxy.php dan fail JavaScript anda (mis., proxy.html) ke pelayan web dengan PHP diaktifkan. Ganti "http://domain.com/example.xml?status=123&date=2011-01-01" dengan url sumber data XML sebenar anda.

Atas ialah kandungan terperinci Cara Membuat XML ke JSON Proxy Server di PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China 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