خواندن محتویات یک فایل xml با php

amin100amin

Member
سلام دوستان عزیز
من دو مورد سوال برام پیش اومده که به راهنماییتون نیاز دارم:
1- چطور داخل یک فایا XML یک مقدار رو تعریف کنم؟
2- چطور با PHP اون مقدار رو بخونم و از همه مهمتر چطور اون مقدار رو با Ajax از فایل XML بخونم و همزمان داخل صفحه نمایش بدم.

ممنون از لطف شما:rose::oops:
 

Omid PLUS

Member
سلام دوستان عزیز
من دو مورد سوال برام پیش اومده که به راهنماییتون نیاز دارم:
1- چطور داخل یک فایا XML یک مقدار رو تعریف کنم؟
2- چطور با PHP اون مقدار رو بخونم و از همه مهمتر چطور اون مقدار رو با Ajax از فایل XML بخونم و همزمان داخل صفحه نمایش بدم.

ممنون از لطف شما:rose::oops:

اینم یه مثال که جواب همه سوالاتت رو میده:rose:

یه فایل HTML بساز و محتویاتش رو بذار این:
HTML:
<html><head><script src="select.js"></script></head>
<body><form> 
Select One from List:
<select name="which" onchange="show(this.value)">
<option value="Number One">Number One</option>
<option value="Number Two">Number Two</option>
<option value="Number Three">Number Three</option> 
</select></form>
<p><div id="txt">Info here.</div></p>
</body></html>
یه فایل javascript به نام select.js بساز با این محتویات:

کد:
var ajax
function show(str)
{ 
ajax=GetajaxObject()
if (ajax==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 } 
var url="getinfo.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
ajax.onreadystatechange=stateChanged 
ajax.open("GET",url,true)
ajax.send(null)
}
function stateChanged() 
{ 
 if (ajax.readyState==4 || ajax.readyState=="complete")
 { 
 document.getElementById("txt").innerHTML=ajax.responseText 
 } 
}
function GetajaxObject()
{
var ajax=null;
try{
 ajax=new ajaxRequest();
 }
catch (e){
 try{
  ajax=new ActiveXObject("Msxml2.ajax");
  }
 catch (e){
  ajax=new ActiveXObject("Microsoft.ajax");
  }
 }
return ajax;
}
اینم محتویات فایل get.php قرار بده:
کد:
<?php
$q=$_GET["q"];

$xmlDoc = new DOMDocument();
$xmlDoc->load("xml_file_name.xml");

$x=$xmlDoc->getElementsByTagName('NAME');

for ($i=0; $i<$x->length; $i++)
{
if ($x->item($i)->nodeType==1)
  {
  if ($x->item($i)->childNodes->item(0)->nodeValue == $q)
    { 
    $y=($x->item($i)->parentNode);
    }
  }
}

$info=($y->childNodes);

for ($i=0;$i<$info->length;$i++)
{ 
if ($info->item($i)->nodeType==1)
  { 
  echo"<b>"
  .($info->item($i)->nodeName)
  ."</b> : "
  .($cd->item($i)->childNodes->item(0)->nodeValue);
  ."<br />";
  } 
}
?>
و در نهایت اینم فایل xml_file_name.xml که محتویاتش اینه:
کد:
<?xml version="1.0" encoding="UTF-8"?>
<INFORMATION>
    <INFO>
        <NAME>Number One</NAME>
        <TITLE>Number One Title</TITLE>
        <TOZIH>Tozihat 1</TOZIH>
        <EZAFE1>Ezafiat</EZAFE1>
        <EZAFE2>Sayer</EZAFE2>
        <PERSON>Omid</PERSON>
        <COPYRIGHT>PLUS</COPYRIGHT>
    </INFO>
    <INFO>
        <NAME>Number Two</NAME>
        <TITLE>Number Two Title</TITLE>
        <TOZIH>Tozihat 2</TOZIH>
        <EZAFE1>Ezafeha</EZAFE1>
        <EZAFE2>Sayere tozihat</EZAFE2>
        <PERSON>Ghaffarinia</PERSON>
        <COPYRIGHT>PLUS</COPYRIGHT>
    </INFO>
    <INFO>
        <NAME>Number Three</NAME>
        <TITLE>Number Three Title</TITLE>
        <TOZIH>Tozihat 3</TOZIH>
        <EZAFE1>Ezafehaye 3</EZAFE1>
        <EZAFE2>Sayere tozihate in ghesmat</EZAFE2>
        <PERSON>Omid Ghaffarinia</PERSON>
        <COPYRIGHT>PLUS</COPYRIGHT>
    </INFO>
</INFORMATION>
امید وارم تونسته باشم کمکت کرده باشم.:rose:
فکر کنم کامل باشه ولی اگه سوالی داشتی در خدمتم.:cool:
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا