PHP Ajax XML解析器
Ajax XML示例 使用Ajax,我们可以从本地目录以及服务器解析xml。下面的示例演示如何使用Web浏览器…
Ajax XML示例
使用Ajax,我们可以从本地目录以及服务器解析xml。下面的示例演示如何使用Web浏览器解析xml。
<html> <head> <script> function showCD(str) { if (str == "") { document.getElementById("txtHint").innerHTML = ""; return; } if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); }else { // code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { document.getElementById("txtHint").innerHTML = xmlhttp.responseText; } } xmlhttp.open("GET","getcourse.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <form> Select a Course: <select name = "cds" onchange = "showCD(this.value)"> <option value = "">Select a course:</option> <option value = "Android">Android </option> <option value = "Html">HTML</option> <option value = "Java">Java</option> <option value = "Microsoft">MS technologies</option> </select> </form> <div id = "txtHint"><b>Course info will be listed here...</b></div> </body> </html>
上面的例子将使用GET方法调用getcourse.php。getcourse.php文件加载catalog.xml。getcourse.php如下所示 –
<?php $q = $_GET["q"]; $xmlDoc = new DOMDocument(); $xmlDoc->load("catalog.xml"); $x = $xmlDoc->getElementsByTagName('COURSE'); for ($i = 0; $i<=$x->length-1; $i++) { = if ($x->item($i)->nodeType == 1) { if ($x->item($i)->childNodes->item(0)->nodeValue == $q) { $y = ($x->item($i)->parentNode); } } } $cd = ($y->childNodes); for ($i = 0;$i<$cd->length;$i++) { if ($cd->item($i)->nodeType == 1) { echo("<b>" . $cd->item($i)->nodeName . ":</b> "); echo($cd->item($i)->childNodes->item(0)->nodeValue); echo("<br>"); } } ?>
的catalog.xml
XML文件,其中包含课程列表和详细信息。该文件由getcourse.php访问
<CATALOG> <SUBJECT> <COURSE>Android</COURSE> <COUNTRY>India</COUNTRY> <COMPANY>CodingDict</COMPANY> <PRICE>$10</PRICE> <YEAR>2015</YEAR> </SUBJECT> <SUBJECT> <COURSE>Html</COURSE> <COUNTRY>India</COUNTRY> <COMPANY>CodingDict</COMPANY> <PRICE>$15</PRICE> <YEAR>2015</YEAR> </SUBJECT> <SUBJECT> <COURSE>Java</COURSE> <COUNTRY>India</COUNTRY> <COMPANY>CodingDict</COMPANY> <PRICE>$20</PRICE> <YEAR>2015</YEAR> </SUBJECT> <SUBJECT> <COURSE>Microsoft</COURSE> <COUNTRY>India</COUNTRY> <COMPANY>CodingDict</COMPANY> <PRICE>$25</PRICE> <YEAR>2015</YEAR> </SUBJECT> </CATALOG>
它会产生以下结果 –
类别:PHP 技巧、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!