C sharp - Leer XML mediante c# y generar una tabla con etiquetas html

 
Vista:
sin imagen de perfil

Leer XML mediante c# y generar una tabla con etiquetas html

Publicado por Matías (1 intervención) el 02/08/2016 02:12:50
Dado el siguiente XML ejemplo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<tabla>
     <fila>
          <columna>1-1</ columna>
          <columna >1-2</ columna>
          <columna >1-3</ columna>
     </ fila >
     < fila >
          <columna>2-1</ columna>
          <columna>2-2</ columna>
          <columna >2-3</ columna>
     </ fila >
     < fila >
           <columna>3-1</ columna>
           <columna>3-2</ columna>
           <columna >3-3</ columna>
     </ fila >
</tabla>

Cree una página y realice la lectura del XML anterior interpretando los valores de los nodos de tal forma de lograr una conversión a etiquetas de HTML, respetando lo siguiente:

Tabla-> table
Fila -> tr
Columna -> td

Muestre el resultado de la lectura en la página aspx, el resultado debería quedar de la siguiente manera.

-------------------------------
| 1-1 | 1-2 | 1-3 |
-------------------------------
| 2-1 | 2-2 | 2-3 |
-------------------------------
| 3-1 | 3-2 | 3-3 |
-------------------------------

NOTA: El código debe poder funcionar si se modifica el XML original por otra estructura diferente a la del XML ejemplo.

ESTE ES UN EJERCICIO QUE NECESITO HACER Y NO ME SALE RECUPERAR LOS VALORES CORRECTOS... SI ME GENERA LA TABLA BIEN PERO LOS VALORES NO LOGRO RECUPERARLOS...

ESTE ES MI CÓDIGO:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public string leerXML()
{
	string resultado = "";
	String ruta = Server.MapPath("~");
 
	XmlDocument xDoc = new XmlDocument();
	xDoc.Load(ruta + "\\XMLLecturaTabla.xml");
 
	//COMIENZA ACA
	XmlNodeList tabla = xDoc.GetElementsByTagName("tabla");
	resultado += "<table class='tablaxml'>";
 
	XmlNodeList filas = ((XmlElement)tabla[0]).GetElementsByTagName("fila");
 
	foreach (XmlElement nodo in filas)
	{
		int i = 0;
 
		resultado += "<tr>";
 
		XmlNodeList columnas = nodo.GetElementsByTagName("columna");
 
		foreach (XmlElement nodocol in columnas)
		{
			int j = 0;
 
			resultado += "<td>" + columnas[i].InnerText + "</td>";
			j++;
		}
		resultado += "</tr>";
		i++;
	}
	resultado += "</table>";
	return resultado;
}



QUE HAGO MAL???? ESPERO QUE PUEDAN AYUDARME... GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder