Rumah >hujung hadapan web >tutorial js >Baca dan paparkan XML sisi pelayan dengan artikel JavaScript - Bahagian 1

Baca dan paparkan XML sisi pelayan dengan artikel JavaScript - Bahagian 1

Christopher Nolan
Christopher Nolanasal
2025-03-10 00:53:09746semak imbas

XML memainkan peranan penting dalam perkhidmatan web, dan boleh memainkan peranan yang kuat dalam kombinasi dengan pelbagai bahasa pelanggan dan pelayan. Artikel ini akan meneroka cara menggunakan JavaScript XML dan pelanggan untuk memaparkan kandungan fail XML, mengakses elemen kanak -kanak, mengendalikan elemen, dll.

Isu Keserasian Pelayar

Dalam bahasa klien, keserasian pelayar adalah isu utama. Untuk gabungan XML dan JavaScript, masalahnya adalah terutamanya XML: tidak semua penyemak imbas menyokong dokumen XML parsing.

Contoh kod berikut adalah berdasarkan IE6. Pelayar yang tidak menyokong XML tidak dapat membaca kod ini, jadi apabila melihat fail XML dalam pelayar ini, penyemak imbas mengabaikan semua tag.

Contoh fail XML

Berikut adalah fail XML sampel yang menunjukkan data pekerja syarikat dan perolehan:

<?xml version="1.0" ?>
<company>
  <employee age="19" sex="M">Premshree Pillai</employee>
  <employee age="24" sex="M">Kumar Singh</employee>
  <employee age="21" sex="M">Ranjit Kapoor</employee>
  <turnover>
    <year>100,000</year>
    <year>140,000</year>
    <year>200,000</year>
  </turnover>
</company>
memanipulasi data fail XML menggunakan JavaScript

LOAD FILE XML

anda boleh memuatkan fail XML melalui kod JavaScript berikut:

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");

function loadXML(xmlFile) {
  xmlDoc.async = "false";
  xmlDoc.onreadystatechange = verify;
  xmlDoc.load(xmlFile);
  xmlObj = xmlDoc.documentElement;
}

Malah, dua baris terakhir fungsi sudah cukup untuk memuatkan fail XML. Dua baris pertama memastikan bahawa mana -mana fungsi JavaScript yang kami gunakan untuk memanipulasi data fail XML selepas itu tidak akan melakukan sebarang operasi pada objek yang tidak dikenali. Oleh itu, Call Verify () Fungsi:

function verify() {
  // 0 对象未初始化
  // 1 对象正在加载数据
  // 2 对象已加载数据
  // 3 可以处理对象中的数据
  // 4 对象完全初始化
  if (xmlDoc.readyState != 4) {
    return false;
  }
}

Fail XML kini boleh dimuatkan:

loadXML('xml_file.xml');

Tunjukkan kandungan fail XML

Gunakan alert(xmlObj.xml); untuk melihat keseluruhan kandungan fail XML. Keseluruhan fail XML akan dipaparkan seperti dalam kotak amaran dengan lekukan yang sesuai.

unsur -unsur sube dan nod

dalam fail XML di atas, <company></company> adalah tag peringkat atas, dan semua tag lain berada di bawahnya. Tag ini dipanggil elemen kanak -kanak. Fail XML ini boleh diwakili secara grafik dalam bentuk pokok folder:

Read and Display Server-Side XML with JavaScript Article - Part 1

Dalam fail XML di atas, tag peringkat atas

mempunyai 4 elemen kanak-kanak. <company></company>

bilangan elemen kanak -kanak (biasanya dalam semua bahasa) bermula pada 0 (sifar). Terdapat 3 elemen kanak -kanak di bawah tag

. <turnover></turnover> kita boleh menggunakan atribut

untuk mencari bilangan elemen kanak -kanak yang dimiliki. Oleh itu, bilangan elemen kanak -kanak tag

(4 di sini) boleh didapati melalui childNodes.length. <company></company> xmlObj.childNodes.length Bilangan elemen kanak -kanak dari tag

(3 di sini) boleh didapati melalui

. <turnover></turnover> xmlObj.childNodes(3).childNodes.length Kami menggunakan

di sini kerana

adalah elemen anak ketiga childNodes(3). <turnover></turnover> <company></company> ujian elemen kanak -kanak

Anda boleh menggunakan untuk menguji sama ada elemen kanak -kanak nod tertentu mempunyai elemen kanak -kanak.

Oleh itu, childNodes(i).hasChildNodes akan kembali benar.

akan kembali palsu kerana tag

tidak mempunyai elemen kanak -kanak. xmlObj.childNodes(3).hasChildNodes() xmlObj.childNodes(2).hasChildNodes()

Dapatkan nama tag

anda boleh menggunakan childNodes(i).tagName untuk mendapatkan nama label elemen kanak -kanak. Oleh itu, xmlObj.tagName akan kembali "Syarikat". xmlObj.childNodes(0).tagName akan mengembalikan "pekerja". xmlObj.childNodes(3).childNodes(0).tagName akan kembali "tahun".

Tunjukkan kandungan tag

Dalam fail XML, kandungan tag <employee></employee> pertama ialah "Premshree Pillai". Anda boleh mendapatkan nilai ini menggunakan xmlObj.childNodes(0).firstChild.text.

<?xml version="1.0" ?>
<company>
  <employee age="19" sex="M">Premshree Pillai</employee>
  <employee age="24" sex="M">Kumar Singh</employee>
  <employee age="21" sex="M">Ranjit Kapoor</employee>
  <turnover>
    <year>100,000</year>
    <year>140,000</year>
    <year>200,000</year>
  </turnover>
</company>

Properties

Dalam fail XML, tag <employee></employee> mempunyai 3 sifat. Ciri -ciri boleh diakses menggunakan childNodes(i).getAttribute("AttributeName"). Oleh itu, xmlObj.childNodes(0).getAttribute("id") akan kembali "001". xmlObj.childNodes(1).getAttribute("age") akan kembali "24". xmlObj.childNodes(2).getAttribute("sex") akan kembali "F".

... (Kandungan berikutnya, termasuk bahagian FAQ, boleh ditulis semula dengan cara yang sama, mengekalkan makna asal, dan menyesuaikan struktur kata -kata dan kalimat.)

Atas ialah kandungan terperinci Baca dan paparkan XML sisi pelayan dengan artikel JavaScript - Bahagian 1. 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
Artikel sebelumnya:kesan matriks jQueryArtikel seterusnya:kesan matriks jQuery