De hecho, Viet, si la tengo y parte de la misma funcionalidad expuesta anteriormente pero con algunos pequeños cambios.
Vamos a sustituir la función
var jsData = new Array( ); por la rutina AJAX de tu preferencia que devuelva el XML con esta estructura:
Código PHP:
<xml id="msxml" style="display:none">
<worldcup>
<final>
<location>Uruguay</location>
<year>1930</year>
<winner>Uruguay</winner>
<winscore>4</winscore>
<loser>Argentina</loser>
<losscore>2</losscore>
</final>
<final>
<location>Italia</location>
<year>1934</year>
<winner>Italy</winner>
<winscore>2</winscore>
<loser>Czechoslovakia</loser>
<losscore>1</losscore>
</final>
</worldcup>
</xml>
Esta rutina deve devolver un objeto llamado
xDoc
Posteriormente vamos a modficar la función
drawTable(tbody) por lo siguiente:
Código PHP:
function drawTable(tbody) {
var tr, td, i, j, oneRecord;
tbody = document.getElementById(tbody);
// nodos del arbol xml
var data = xDoc.getElementsByTagName("worldcup")[0];
// esto es para cuestiones de css del TD, no lo uso
//var classes = ["ctr","","","","ctr"];
for (i = 0; i < data.childNodes.length; i++) {
//IMPORTANTE, brincarse este nivel para Netscape, aún investigo por que
if (data.childNodes[i].nodeType == 1) {
// nuestro registro
oneRecord = data.childNodes[i];
tr = tbody.insertRow(tbody.rows.length);
td = tr.insertCell(tr.cells.length);
//td.setAttribute("class",classes[tr.cells.length-1]);
td.innerHTML =oneRecord.getElementsByTagName("year")[0].firstChild.nodeValue;
td = tr.insertCell(tr.cells.length);
//td.setAttribute("class",classes[tr.cells.length-1]);
td.innerHTML =oneRecord.getElementsByTagName("location")[0].firstChild.nodeValue;
td = tr.insertCell(tr.cells.length);
//td.setAttribute("class",classes[tr.cells.length-1]);
td.innerHTML =
oneRecord.getElementsByTagName("winner")[0].firstChild.nodeValue;
td = tr.insertCell(tr.cells.length);
//td.setAttribute("class",classes[tr.cells.length-1]);
td.innerHTML =
oneRecord.getElementsByTagName("loser")[0].firstChild.nodeValue;
td = tr.insertCell(tr.cells.length);
//td.setAttribute("class",classes[tr.cells.length-1]);
td.innerHTML =oneRecord.getElementsByTagName("winscore")[0].firstChild.nodeValue +" - " + oneRecord.getElementsByTagName("losscore")[0].firstChild.nodeValue;
}
}
}
Este es otro ejemplo por eso hablo de la copa mundial.
Y la ejecución con el evento body:
drawTable('matchData')
Y listo.
Precisamente este tutorial lo estoy armando en mi site.
La primera parte aqui :
http://www.fuenteria.com/?external=35 www.fuenteria.com hecho con