Estoy avanzando a machetazos, parece que cada nueva cosa que hago me sale otro problema, hasta el momento he podido con todos menos con este.
Tengo un XML tal que así:
<state name=\"California\">
<city nombre='San Francisco' />
<city nombre='San Diego' />
<city nombre='San Antonio' />
</state>
Lo cargo sin problemas, decido añadirle dos ciudades más (San Agustín y Santa Mónica) sin problema, se actualiza el valor de 3 a 5, perfecto, le pido que me muestre el último nodo, sin problemas... pero cuando le pido el atributo "nombre" de los recién ingresados me sale "undefined"
Me llevo leído dos veces las instrucciones, he consultado la página de Adobe, he mirado en tres tutoriales, he leído el último hilo de este foro hasta el final y no soy capaz de dar con lo que estoy haciendo mal. Mi código es este:
var xml_str:String = "<state name=\"California\"><city nombre='San Francisco' /><city nombre='San Diego' /><city nombre='San Antonio' /></state>";
//Añadimos dos ciudades nuevas
var my_xml:XML = new XML(xml_str);
trace(" XML antes de añadir:\n"+my_xml);
var nodo:XML = new XML("<city nombre='San Agustin' />")
my_xml.firstChild.appendChild(nodo)
trace("");
var nodo:XML = new XML("<city nombre='Santa Mónica' />")
my_xml.firstChild.appendChild(nodo)
//Vemos los resultados de texto y de nº de nodos
trace("XML después de añadir:\n"+my_xml);
var ciudadesf = my_xml.firstChild.childNodes.length
trace (ciudadesf)
//Los metemos en el Array y este en el datagrid
losDatos = new Array()
for (i=0; i< ciudadesf; i++){losDatos.addItem({id: i, ciudad: my_xml.firstChild.childNodes[i].attributes.nombre})}
listaCiudades.dataProvider = losDatos
trace (my_xml.firstChild.childNodes[(ciudadesf-1)].attributes.nombre)
Si alguien lo ejecuta, añadiendo un Data Grid llamado listaCiudades para que el código no se pierda, verá que pone cinco registros, pero los dos últimos vacíos, y el último "trace" da undefined.
¿Alguna ayuda de cómo recuperar el nombre de las ciudades?
Muchas gracias
