Bir orada sayede ben şu anda bir yöntemi var
<input type="text" id="politician" name="politician"
onkeyup="showResult(this.value)" value="Enter a politician's name"/>
tag. Giriş etiketi içerdiğini, aynı dosyada ajax.js adında harici bir javascript dosyasına bir bağlantı vardır
Aşağıdaki gibi o dosyanın içeriği:
function showResult(str)
{
if (str.length==0)
{
document.getElementById("livesearch").innerHTML="";
document.getElementById("livesearch").style.border="0px";
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("livesearch").innerHTML=xmlhttp.responseText;
document.getElementById("livesearch").style.border="1px solid #A5ACB2";
}
}
xmlhttp.open("GET","livesearch.php?politician="+str,true);
xmlhttp.send();
}
Temelde, ne javascript dosya yapan bir değeri giriş metin takıldığında, bir istek politicians.xml denilen kodlanmış XML belgesinin içeriğini ayrıştırmak "livesearch.php" adlı bir php dosyasına gönderilen olduğunu söylüyorlar.
Aşağıdaki gibi livesearch.php dosyası:
<?php
//Make sure we have something set before we go doing work
if (isset($_GET["politician"])){
$q = $_GET["politician"];
if ($q == "")
exit();
$xmlDoc = new DOMDocument();
$xmlDoc->load("politicians.xml");
$x=$xmlDoc->getElementsByTagName('Politicians');
$hint = "";
for($i=0; $i<($x->length); $i++)
{
$y=$x->item($i)->getElementsByTagName('name');
$z=$x->item($i)->getElementsByTagName('url');
$w=$x->item($i)->getElementsByTagName('location');
$v=$x->item($i)->getElementsByTagName('position');
$u=$x->item($i)->getElementsByTagName('photo');
if($y->item(0)->nodeType==1)
{
//Find a link matching the search text
if(stristr($y->item(0)->childNodes->item(0)->nodeValue,$q))
{
if($hint != "")
{
$hint .= "<br />";
}
$hint .= "<h1 id='poli'><a id='blue' href='";
$hint .= $z->item(0)->childNodes->item(0)->nodeValue;
$hint .= "'>";
$hint .= $y->item(0)->childNodes->item(0)->nodeValue;
$hint .= "</a> <br /><a id='green'>";
$hint .= $v->item(0)->childNodes->item(0)->nodeValue;
$hint .= "</a><a id='green'>";
$hint .= $w->item(0)->childNodes->item(0)->nodeValue;
$hint .= "</a><br/><img width='30' height='40' id='schmidt' src='politicians/";
$hint .= $u->item(0)->childNodes->item(0)->nodeValue;
$hint .= ".png' /></h1>";
}
}
}
}
// Set output to "no suggestion" if no hint were found
// or to the correct values
if($hint == "")
echo "No suggestions";
else
echo $hint;
?>
Bir arkadaşım geçenlerde alışkanlık XML belgesinin içeriğini ayrıştırmak için PHP güvenmek gerekir çünkü JSON kullanarak sunucu üzerinde daha az yük koyacağız çünkü JSON XML için harika bir alternatif olduğunu söyledi. İstemci yerine ayrıştırmak istiyorum.
Ama, ben bir JSON belge ile çalışır, böylece bu işlevi yeniden yazmak için JSON ile yeterli deneyimi yok. Herkes bana birkaç ipucu verebilir misiniz?
Herhangi bir yardım büyük mutluluk duyacağız!