XML DOM

PsIcO

Buenas, tengo un problemilla con una practica en C#, necesito guardar el valor del atributo "puntuacion" a una variable para despues hacer la media y decir cual es el maximo y el minimo de ellas, y sin el valor no puedo hacerlo :(

Dejo aqui el codigo .xml con mi solucion a medias.

<?xml version="1.0" encoding="ISO-8859-15"?>

<Linux>
<sistema_paquetes tipo="deb">
<distro nombre="Debian" puntuacion="1433">
<nota>Basada en Software Libre</nota>
</distro>
<distro nombre="Ubuntu" puntuacion="3700" nacionalidad="sudafricana">
<nota>No está Basada en Software Libre integramente</nota>
<empresa_asociada>Canonical</empresa_asociada>
<fundador>Mark Shuttleworth</fundador>
</distro>
<distro nombre="Knoppix" puntuacion="1100" nacionalidad="alemana">
<nota>Por defecto usa el escritorio KDE</nota>
<fundador>Klaus Knopper</fundador>
</distro>
</sistema_paquetes>

<sistema_paquetes tipo="rpm"> 
	<distro nombre="Red Hat" puntuacion="787" nacionalidad="norteamericana"> 
		<nota>Basada en Software Libre</nota>
		<empresa_asociada>Red Hat Enterprise</empresa_asociada>  
	</distro> 
	<distro nombre="Fedora" puntuacion="2507"> 
		<nota>Basada en Software Libre</nota>
		<nota>Última versión Fedora 14</nota>			
	</distro>
	<distro nombre="Mandriva" puntuacion="1400" nacionalidad="francesa"> 
		<nota>Se conoce también como Mandrake</nota>			
		<empresa_asociada>Mandriva</empresa_asociada>  
	</distro>		
</sistema_paquetes>

<sistema_paquetes tipo="portage"> 
	<distro nombre="Gentoo" puntuacion="1780"  nacionalidad="norteamericana"> 
		<nota>Orientada a usuarios con experiencia en estos sistemas operativos</nota>
		<fundador>Daniel Robbins</fundador>  
	</distro> 
	<distro nombre="Sabayon" puntuacion="900"  nacionalidad="italiana">
		<nota>Anteriormente conocida como RR4 Linux / RR64 Linux </nota>
		<fundador>Fabio Erculiani</fundador>					
	</distro>				
</sistema_paquetes>	

</Linux>

Y aqui dejo lo que he echo a medias, esto me muestra las puntuaciones: si alguien me lo resuelve, no me importaria cambiar este codigo xD

XmlNodeList nodo = doc.GetElementsByTagName("distro");

			Console.WriteLine("Puntuaciones");

			foreach(XmlNode attr in nodo)
			{
				Console.WriteLine("{0}tt{1}",
					attr.Attributes["nombre"].InnerText,
					attr.Attributes["puntuacion"].InnerText);
			
			}

Gracias :)

B

Cuál es el problema, que te lo devuelve en String? Pues pásalo a número alma de cántaro xD

1 respuesta
PsIcO

#2 ya lo intente pero no me lo coge bien y me da error

1 respuesta
B

#3 comprueba que el string esté bien formado, que debería porque por lo que veo es un número y punto. Si te da error, búscalo en Google/StackOverflow y mira qué puede ser.

Usuarios habituales