Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menghuraikan Data XML dalam JavaScript Menggunakan DOM?

Bagaimanakah Saya Boleh Menghuraikan Data XML dalam JavaScript Menggunakan DOM?

Barbara Streisand
Barbara Streisandasal
2024-12-09 01:01:101001semak imbas

How Can I Parse XML Data in JavaScript Using the DOM?

Menghuraikan XML menggunakan JavaScript: Penyelesaian Komprehensif

Untuk menghuraikan data XML dalam JavaScript, anda boleh menggunakan DOM (Model Objek Dokumen) tanpa perpustakaan luaran.

Menghuraikan Data XML daripada Rentetan

Jika XML disimpan dalam pembolehubah bernama txt, anda boleh menghuraikannya menggunakan DOMParser:

if (window.DOMParser) {
  parser = new DOMParser();
  xmlDoc = parser.parseFromString(txt, "text/xml");
} else {
  xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async = false;
  xmlDoc.loadXML(txt);
}

Mendapatkan Nilai Khusus daripada Nod

Setelah XML dihuraikan, anda boleh mendapatkan semula data tertentu daripada nod:

// Get house address number
streetNumber = xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue;

// Get street name
street = xmlDoc.getElementsByTagName("street")[0].childNodes[0].nodeValue;

// Get postal code
postalCode = xmlDoc.getElementsByTagName("postalcode")[0].childNodes[0].nodeValue;

Mengendalikan XML dengan Awalan Ruang Nama

Jika XML mengandungi awalan ruang nama, anda harus menggunakan URI ruang nama apabila meminta nod:

console.log(xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue); // Gets "streetNumber" without the 'sn' prefix

console.log(xmlDoc.getElementsByTagNameNS("example.com/postal", "postalcode")[0].childNodes[0].nodeValue); // Gets postal code with 'p' namespace prefix

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghuraikan Data XML dalam JavaScript Menggunakan DOM?. 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