Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/10/2009, 05:09
Avatar de josec89
josec89
 
Fecha de Ingreso: octubre-2009
Mensajes: 12
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problemas al acceder a contenido xml

Hola!

Para acceder a las partes de un documento XML tienes que usar XML.getElementsByTagName(...), ya que XML - por lo general - no trabaja con ids sino con tags (etiquetas).

Así pues, yo quitaría las IDS de tu código XML y utilizaría el siguiente sistema para acceder a las etiquetas:

Código:
//docXML contiene <MARCAS>......</MARCAS>
var docXML = objAJAX.responseXML.getElementsByTagName("MARCAS")[0];

//marca contiene <MARCA>..... </MARCA> (según seleccionemos 0 1 2 será uno u otro;
var marca = docXML.getElementsByTagName("MARCA")[0 .. 1 .... 2];

//nombre contiene <NOMBRE>....</NOMBRE> de la marca actual (0 1 2, según hayas puesto arriba)
var nombre = marca.getElementsByTagName("NOMBRE")[0];

//nombre.firstChild.nodeValue es lo que hay dentrode <NOMBRE>...</NOMBRE>
alert(nombre.firstChild.nodeValue)
Para el resto de etiquetas internas (anofundacion, web...) se haría igual que el último caso. Por cierto, yo cambiaría la estructura de MODELOS por:

<MODELOS>
<MODELO>QT</MODELO>
<MODELO>R6</MODELO>
</MODELOS>

Porque así si contienes una variable con MODELOS:

var modelos = marca.getElementsByTagName("MODELOS")[0];

Puedes seleccionar cada modelo:
Código HTML:
var modelo = new Array();
var i = 0;

while(modelos.getElementsByTagName("MODELO")[ i ])
{
  modelo[i] = modelos.getElementsByTagName("MODELO"[ i ].firstChild.nodeValue;
  i++;
}
Así guardariamos tods los modelos en un array, sin tener que procesar la string QT, R6....

Espero que te sirva de ayuda, un saludo ^^