Foros del Web » Programación para mayores de 30 ;) » .NET »

cargar datagridview con informacion de xml

Estas en el tema de cargar datagridview con informacion de xml en el foro de .NET en Foros del Web. hola, aguien me puede decir como cargar un datagridview de c# con el siguiente xml lo que mas me interesa seria esto TIME_PERIOD="2010" OBS_VALUE="4796580", les ...
  #1 (permalink)  
Antiguo 10/05/2016, 18:24
 
Fecha de Ingreso: octubre-2013
Mensajes: 4
Antigüedad: 10 años, 6 meses
Puntos: 0
cargar datagridview con informacion de xml

hola, aguien me puede decir como cargar un datagridview de c# con el siguiente xml
lo que mas me interesa seria esto TIME_PERIOD="2010" OBS_VALUE="4796580", les agradeceré bastante si me ayudan.

<CompactData xmlns="http://www.SDMX.org/resources/SDMXML/schemas/v2_0/message" xmlns:inegi="urn:sdmx:org.sdmx.infomodel.keyfamily .KeyFamily=inegi:TIPO_B_DSD:compact" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.SDMX.org/resources/SDMXML/schemas/v2_0/message SDMXMessage.xsd urn:estat:sdmx.infomodel.keyfamily.KeyFamily=inegi :DSD_TIPO_B:1.0:compact inegi:DSD_TIPO_B_Compact.xsd">
<Header>
<ID>BISE</ID>
<Prepared>2016-05-10T19:01:52</Prepared>
<Sender id="INEGI">
<Name xml:lang="en">Instituto Nacional de Estadística y Geografía</Name>
<Contact>
<Name xml:lang="en">Atención a usuarios</Name>
<Email>
http://www.inegi.org.mx/inegi/contacto/default.aspx
</Email>
</Contact>
</Sender>
</Header>
<inegi:DataSet>
<inegi:Series INDICADOR="1002000001" COBER_GEO="07000 " FREQ="V" DECIMALS="0" TOPIC="000400010001" NOTE="9,49,115,422,425">
<inegi:Obs TIME_PERIOD="2010" OBS_VALUE="4796580" OBS_STATUS="D" OBS_UNIT="Número de personas" OBS_SOURCE="487" OBS_NOTE="115,425"/>
</inegi:Series>
</inegi:DataSet>
</CompactData>
  #2 (permalink)  
Antiguo 11/05/2016, 08:24
Avatar de Namiwis  
Fecha de Ingreso: mayo-2013
Ubicación: Crustaceo Cascarudo
Mensajes: 162
Antigüedad: 11 años
Puntos: 10
Respuesta: cargar datagridview con informacion de xml

Hola hego_06

Has intentado hacer algo? si lo has intentado comparte tu codigo para poder apoyarte

Yo lo haria de la siguiente manera usando LinQ

Código C#:
Ver original
  1. //Cargar el XML
  2. var doc = XDocument.Load("C:\\algunacarpeta\\inegi.xml");
  3.  
  4. //Se extraen los datos
  5. //Se debe declarar el namespace del XML para poderse mover entre los nodos
  6. XNamespace nsInegi = "urn:sdmx:org.sdmx.infomodel.keyfamily .KeyFamily=inegi:TIPO_B_DSD:compact";
  7. var TIME_PERIOD = doc.Descendants(nsInegi + "DataSet").Elements(nsInegi + "Series").Elements(nsInegi + "Obs").Attributes().Where(x => x.Name.ToString().Equals("TIME_PERIOD")).Select(x => x.Value.ToString()).SingleOrDefault();
  8. var OBS_VALUE = doc.Descendants(nsInegi + "DataSet").Elements(nsInegi + "Series").Elements(nsInegi + "Obs").Attributes().Where(x => x.Name.ToString().Equals("OBS_VALUE")).Select(x => x.Value.ToString()).SingleOrDefault();
  9.  
  10. //Agregar datos a DataGridView
  11. dataGridView_Datos.Columns.Add("Atributo", "Atributo");
  12. dataGridView_Datos.Columns.Add("Valor", "Valor");
  13. dataGridView_Datos.Rows.Add("TIME_PERIOD", TIME_PERIOD);
  14. dataGridView_Datos.Rows.Add("OBS_VALUE", OBS_VALUE);

Pd. En la proxima serviria de mucho que intentes hacer algo de tu lado, y en base a eso nosotros ayudarte

Saludos

Última edición por Namiwis; 11/05/2016 a las 15:18

Etiquetas: c#, datagridview, studio, visual, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:20.