Bagaimana untuk Memastikan Penghuraian XML Cross-Platform dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-11-12 00:52:03
asal
912 orang telah melayarinya

How to Ensure Cross-Platform XML Parsing in JavaScript?

Penghuraian XML Merentas Platform dalam JavaScript

Menghuraikan fail XML dalam JavaScript boleh menimbulkan cabaran disebabkan isu keserasian penyemak imbas. Untuk memastikan penghuraian yang lancar merentas penyemak imbas, berikut ialah teknik yang berfungsi secara konsisten:

Fungsi Penghuraian XML Khusus Penyemak Imbas:

Untuk memenuhi pelayar yang berbeza, kami mentakrifkan dua fungsi penghuraian :

  • DOMParser (Pelayar Moden):

    parseXml = function(xmlStr) {
      return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
    };
    Salin selepas log masuk
  • ActiveXObject (Internet Explorer):

    parseXml = function(xmlStr) {
      var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
      xmlDoc.async = "false";
      xmlDoc.loadXML(xmlStr);
      return xmlDoc;
    };
    Salin selepas log masuk

Mekanisme Fallback:

Jika tiada fungsi ini disokong, ralat akan dilemparkan.

Penggunaan:

Untuk menggunakan fungsi ini, tetapkan parseXml kepada fungsi yang menyokong penyemak imbas sasaran anda:

if (typeof window.DOMParser != "undefined") {
    // Use DOMParser for modern browsers
} else if (typeof window.ActiveXObject != "undefined" &&
    new window.ActiveXObject("Microsoft.XMLDOM")) {
    // Use ActiveXObject for Internet Explorer
} else {
    throw new Error("No XML parser found");
}
Salin selepas log masuk

Contoh:

var xml = parseXml("<foo>Stuff</foo>");
alert(xml.documentElement.nodeName);
Salin selepas log masuk

Kod ini berfungsi dalam semua penyemak imbas utama, membolehkan anda menghuraikan fail XML dengan yakin merentas platform dan versi penyemak imbas.

Atas ialah kandungan terperinci Bagaimana untuk Memastikan Penghuraian XML Cross-Platform dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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