Código Javascript:
Ver original
function handleRequestStateChange() { myDiv=document.getElementById("myDivElement"); if(xmlHttp.readyState==4) { //continua solo si se completo la conexion correctamentes if(xmlHttp.status==200) { try { handleServerResponse(); } catch(e) { alert("Error al leer respuesta"); } } else { alert("ha ocurrido un problema al recibir los datos"+xmlHttp.statusText); } } } function handleServerResponse() { myDiv=document.getElementById("myDivElement"); var xmlResponse=xmlHttp.responseXML; if(!xmlResponse || !xmlResponse.documentElement) { throw("Estructura XML no valida"+xmlHttp.responseText); } var rootNodeName=xmlResponse.documentElement.nodeName; if (rootNodeName=="parsererror") { throw("invalido XML structure"); } //obtener el elememto del documento XML xmlRoot=xmlResponse.documentElement; titleArray=xmlRoot.getElementByTagName("title"); isbnArray=xmlRoot.getElementByTagName("isbn"); //generar htlm for (var i=0;i<titleArray.length;i++) { html+=titleArray.item(i).fistChild.data+", "+isbnArray.item(i).fistChild.data+"<br>"; } myDiv.innerHTML=html; }
Código PHP:
<?php
//generr salida como xml
header('Content-Type:text/xml');
$dom=new DOMDocument();
$response=$dom->createElement('response');
$dom->appendChild($response);
//crear el elemento books
$books=$dom->createElement('books');
$response->appendChild($books);
//crear elemento title
$title=$dom->createElement('title');
$titleText=$dom->createTextNode("Building Repinsive web aplication with ajax");
$title->appendChild($titleText);
//creamos elemento isbn
$isbn=$dom->createElement('isbn');
$isbnTetx=$dom->createTextNode('1-90481-82-5');
$isbn->appendChild($isbnTetx);
//creamos el elemento book
$book=$dom->createElement('book');
$book->appendChild($title);
$book->appendChild($isbn);
//asociar book como hijo en books
$books->appendChild($book);
//contruimos estructura xml
$xmlString=$dom->saveXML();
//mostrar string
echo $xmlString;
?>