Hola xcars....
Lo que estoy haciendo son dos listas dependientes + un administrador para la lista padre.
Les paso el codigo PHP que funcionó para publicar el XML.
<?php
header('Content-Type: text/xml');
header ("Expires: Fri, 14 Mar 1980 20:53:00 GMT"); //la pagina expira en fecha pasada
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); //ultima actualizacion ahora cuando la cargamos
header ("Cache-Control: no-cache, must-revalidate"); //no guardar en CACHE
header ("Pragma: no-cache"); //PARANOIA, NO GUARDAR EN CACHE
include ("functions/conexion.php");
$sql = "select * from marcas";
$result = mysql_query($sql);
if (mysql_num_rows($result) == 0) {
echo "el valor no fue encontrado en la base de datos";
}else{
$string = '';
$string = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
$string .= "<MARCAS>\n";
while ($row = mysql_fetch_row($result)){
$string .= "<LINEA>\n";
$string .= "<COL1>".$row[1]."</COL1>\n";
$string .= "<COL2>".$row[0]."</COL2>\n";
$string .= "</LINEA>\n";
}
$string .= "</MARCAS>\n";
echo $string;
}
?>
Desde el javascript lo toma de la siguiente manera...
function handleHttpResponse_cbx_modelo() {
if (http.readyState == 4) {
var i;
var total = http.responseXML.getElementsByTagName('LINEA').len gth;
for(i=0;i<total;i++){
//document.getElementById('combo1').options[i]= new Option(results[i],i+1);
//colxxx = http.responseXML.getElementsByTagName('col1')[i].firstChild.data;
document.getElementById('combo1').options[i]= new Option( http.responseXML.getElementsByTagName('COL1')[i].firstChild.data ,http.responseXML.getElementsByTagName('COL2')[i]);
}
window.status = '';
return false;
}
}
cualquier cosa ... no duden en preguntar