Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/06/2013, 11:52
jcd
 
Fecha de Ingreso: febrero-2013
Mensajes: 77
Antigüedad: 11 años, 2 meses
Puntos: 0
Hashtable add con Iteracion

Buenas a todos y gracias.

Tengo este XML

Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <RAIZ>
  3.       <tag>ejemplillos</tag>
  4.       <tag2>hola</tag2>
  5.       <tag3>
  6.             <a = "23"  b= "101"  c= "beautiful" />
  7.             <a= "24"  b= "102"  c= "beautiful" />
  8.             <a= "25"   b= "103"  c= "beautiful" />
  9.       </tag3>
  10. </RAIZ>

Lo que quiero es crear un Hashtable que me vaya guardando en su interior los atributos del tag3, que tiene 3 llamados a, para ello tengo:


[HIGHLIGHT="C"]
Código C:
Ver original
  1. XmlTextReader xmlReader = new XmlTextReader("C:\\\\Documents\\....xml");
  2.             xmlReader.Read();
  3.             XmlDocument xmlDoc = new XmlDocument();
  4.             xmlDoc.Load(xmlReader);
  5.             Hashtable Hush = new Hashtable();
  6.             XmlNodeList no = xmlDoc.SelectNodes("/RAIZ/tag3/a");
  7.  
  8.             for (int j = 0; j < no.Count; j++)
  9.             {
  10.                 //Console.WriteLine(no.Count);
  11.                 //Console.ReadKey();
  12.  
  13.  Hush.Add(no[j].Attributes["a"].Name, no[j].Attributes["a"].Value);
  14. Hush.Add(no[j].Attributes["b"].Name, no[j].Attributes["b"].Value);
  15. Hush.Add(no[j].Attributes["c"].Name, no[j].Attributes["c"].Value);
  16. }

ósea, lo que quiero es que el hash me vaya guardando el nombre del atributo y el valor de cada uno de los 3 nodos que hay, esto es:

a = 23
b=101
c=beautiful
a=24
b=102
c=beautiful
a=25
b=103
c=beautiful

pero, con este bucle lo que hago es que una vez me ha cargado a,b,c del primero nodo, al llegar al segundo, me dice que no puede añadir porque ya lo hizo, es decir, no sé cómo decirle al bucle que una vez que llena el primer c, empiece a llenar el segundo a y no que vuelva a llenar el a del primer nodo.

¿alguna idea?