การใช้งาน xml ไฟล์ด้วย ajax ใน jQuery สามารถทำได้ง่าย ใช้ได้ทั้ง ฟังก์ชัน $.ajax() $.get()
และ $.post()
โดยส่วนใหญ่การใช้งาน xml ไฟล์ จะเป็นได้
ทั้งการดึงข้อมูลทั้งหมดมาแสดง
การดึงข้อมูลบางส่วน มาแสดงแบบมีเงื่อนไข
การดึงค่า attribute มาแสดง
ตัวอย่างไฟล์ simple_2.xml
<?xml version="1.0" encoding="utf-8"?> <markers> <marker id="1"> <name>กรุงเทพมหานคร</name> <latitude>13.7234186</latitude> <longitude>100.4762319</longitude> </marker> <marker id="2"> <name>กระบี่</name> <latitude>8.1191811</latitude> <longitude>99.1013498</longitude> </marker> <marker id="3"> <name>กาญจนบุรี</name> <latitude>14.6701192</latitude> <longitude>99.0128926</longitude> </marker> </markers>
ตัวอย่างโค้ด กรณีการดึงข้อมูลใน simple_2.xml ทั้งหมด มาแสดง
<button id="act1">Load XML Data From file simple_2.xml </button> <div id="showXML"></div> <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript"> $(function(){ $("#act1").click(function(){ // การ load xml ไฟล์ ด้วย ajax ใน jQuery ด้วย $.get() // $.get("simple_2.xml",function(xml){ // var dataResult=''; // $(xml).find("marker").each(function(){ // dataResult+=$(this).attr("id")+"<br>"; // การดึงค่า attribute ชือ id // dataResult+=$(this).find("name").text()+"<br>"; // dataResult+=$(this).find("latitude").text()+"<br>"; // dataResult+=$(this).find("longitude").text()+"<hr>"; // }); // $("#showXML").html(dataResult); // }); // การ load xml ไฟล์ ด้วย ajax ใน jQuery ด้วย $.post() // $.post("simple_2.xml",function(xml){ // var dataResult=''; // $(xml).find("marker").each(function(){ // dataResult+=$(this).attr("id")+"<br>"; // การดึงค่า attribute ชือ id // dataResult+=$(this).find("name").text()+"<br>"; // dataResult+=$(this).find("latitude").text()+"<br>"; // dataResult+=$(this).find("longitude").text()+"<hr>"; // }); // $("#showXML").html(dataResult); // }); // การ load xml ไฟล์ ด้วย ajax ใน jQuery ด้วย $.ajax() $.ajax({ url:"simple_2.xml", dataType:"xml", cache:false, // กำหนดให้ cache ข้อมูลที่โหลดมา หรือไม่ async:false, success:function(xml){ var dataResult=''; $(xml).find("marker").each(function(){ dataResult+=$(this).attr("id")+"<br>"; // การดึงค่า attribute ชือ id dataResult+=$(this).find("name").text()+"<br>"; dataResult+=$(this).find("latitude").text()+"<br>"; dataResult+=$(this).find("longitude").text()+"<hr>"; }); // dataResult=$(xml).find("marker:eq(0)").find("name").text(); // การดึงเฉพาะค่า หรือค่าเดียว $("#showXML").html(dataResult); } }); }); // jQuery code }); </script>