C sharp - Problemas para mostrar Datos de XML con Linq en C#

   
Vista:
Imágen de perfil de Vladimir

Problemas para mostrar Datos de XML con Linq en C#

Publicado por Vladimir (3 intervenciones) el 19/07/2017 16:49:36
Estoy aprendiendo Linq con C# por medio de un libro, con muchos ejemplos, intento recrear uno de los ejemplos, generandome un error, les voy colocar el ejemplo que NO falla:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void btnarchivo2_Click(object sender, EventArgs e)
{
    XDocument documento = XDocument.Load(@"c:\Ventas.XML");
    var Datos = from elem in documento.Root.Elements()
    orderby elem.Element("nombre").Value
    select new
    {
        Nombre  = elem.Element("nombre").Value,
        Precio=elem.Element("precio").Value,
        cantidad =elem.Element("cantidad").Value
    };
    dgvDatos.DataSource = Datos.ToList();
 
}

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
36
37
<?xml version="1.0" encoding="utf-8" ?>
<ventas>
 
 
  <producto>
 
    <nombre>Pelota</nombre>
 
    <precio>20.50</precio>
 
    <cantidad>100</cantidad>
 
  </producto>
 
 
  -<producto>
 
    <nombre>Paleta</nombre>
 
    <precio>12.00</precio>
 
    <cantidad>20</cantidad>
 
  </producto>
 
 
  -<producto>
 
    <nombre>Taza</nombre>
 
    <precio>2.80</precio>
 
    <cantidad>200</cantidad>
 
  </producto>
 
</ventas>

Este es mi intento de recrear el ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private void frmCalendario_Load(object sender, EventArgs e)
{
   // string archivo = Application.StartupPath + "\\calendario.xml";
    XDocument documento =   XDocument.Load(@"c:\calendario.XML");
   // XDocument documento = XDocument.Load(@archivo);
    var Datos = from elem in documento.Root.Elements()
    orderby elem.Element("evento").Value
    select new
    {
        evento = elem.Element("evento").Value,
        sala = elem.Element("sala").Value,
        hora = elem.Element("hora").Value,
         horafin = elem.Element("horafin").Value,
        titulo = elem.Element("titulo").Value,
        autor = elem.Element("autor").Value,
        comentario = elem.Element("comentario").Value,
       imagen = elem.Element("imagen").Value
    };
    dtgCalendario.DataSource = Datos.ToList();
 
 
}

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?xml version="1.0" encoding="utf-8" ?>
<eventos>
  <evento>
    <sala>1</sala>
    <nombre_sala>Salón Aranjuez</nombre_sala>
    <fecha>08/11/2016</fecha>
    <hora>19:30</hora>
    <horaFin>20:30</horaFin>
    <titulo>Orales Obesidad Mórbida  III</titulo>
    <autor> </autor>
    <comentario>
      <![CDATA[<p><span style="background-color:#FF8C00">COMUNICACIONES ORALES: OBESIDAD M&Oacute;RBIDA III</span></p>
]]>
    </comentario>
    <imagen>images/</imagen>
  </evento>
  <evento>
    <sala>1</sala>
    <nombre_sala>Salón Aranjuez</nombre_sala>
    <fecha>08/11/2016</fecha>
    <hora>18:00</hora>
    <horaFin>19:30</horaFin>
    <titulo>Orales Coloproctología Miscelánea III</titulo>
    <autor> </autor>
    <comentario>
      <![CDATA[<p><span style="background-color:#FF8C00">COMUNICACIONES ORALES: COLOPROCTOLOG&Iacute;A - MISCEL&Aacute;NEA III</span></p>
]]>
    </comentario>
    <imagen>images/</imagen>
  </evento>
  <evento>
    <sala>1</sala>
    <nombre_sala>Salón Aranjuez</nombre_sala>
    <fecha>08/11/2016</fecha>
    <hora>16:30</hora>
    <horaFin>17:30</horaFin>
    <titulo>Orales Infecciones II</titulo>
    <autor> </autor>
    <comentario>
      <![CDATA[<p><span style="background-color:#FF8C00">&nbsp;COMUNICACIONES ORALES: INFECCIONES QUIR&Uacute;RGICAS II</span></p>
]]>
    </comentario>
    <imagen>images/</imagen>
  </evento>
  <evento>
    <sala>1</sala>
    <nombre_sala>Salón Aranjuez</nombre_sala>
    <fecha>08/11/2016</fecha>
    <hora>15:30</hora>
    <horaFin>16:30</horaFin>
    <titulo>Orales Infecciones I </titulo>
    <autor> </autor>
    <comentario>
      <![CDATA[<p><span style="background-color:#FF8C00">COMUNICACIONES ORALES: INFECCIONES QUIR&Uacute;RGICAS I</span></p>
]]>
    </comentario>
    <imagen>images/</imagen>
  </evento>
  <evento>
    <sala>1</sala>
    <nombre_sala>Salón Aranjuez</nombre_sala>
    <fecha>08/11/2016</fecha>
    <hora>9:30</hora>
    <horaFin>10:30</horaFin>
    <titulo>Orales Obesidad Mórbida II</titulo>
    <autor> </autor>
    <comentario>
      <![CDATA[<p><span style="background-color:#FF8C00">COMUNICACIONES ORALES: OBESIDAD M&Oacute;RBIDA II</span></p>
]]>
    </comentario>
    <imagen>images/</imagen>
  </evento>
  <evento>
    <sala>1</sala>
    <nombre_sala>Salón Aranjuez</nombre_sala>
    <fecha>08/11/2016</fecha>
    <hora>8:30</hora>
    <horaFin>9:30</horaFin>
    <titulo>Orales Obesidad Mórbida I</titulo>
    <autor> </autor>
    <comentario>
      <![CDATA[<p><span style="background-color:#FF8C00">COMUNICACIONES ORALES: OBESIDAD M&Oacute;RBIDA I</span></p>
]]>
    </comentario>
    <imagen>images/</imagen>
  </evento>
</eventos>

calendarioCsharp
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
Imágen de perfil de Vladimir

Problemas para mostrar Datos de XML con Linq en C#

Publicado por Vladimir (3 intervenciones) el 19/07/2017 19:13:19
Listo mis panas! ya me repondi, es increible lo estricto que es C# con las mayusculas y minusculas, veran en la referencia que realizo a la etiqueta del XML

lo tenia asi

horafin =elem.Element("horafin").Value

Pero el XML tiene esa Etiqueta asi:

<horaFin>19:30</horaFin>

lo cambie y listo!!! ;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Revisar política de publicidad