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

ordernar xml

Estas en el tema de ordernar xml en el foro de .NET en Foros del Web. Hola a todos. Estoy queriendo ordenar un xml en base aun campo de la siguiente manera. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C#: Ver original dsHistorico. ReadXml ( ...
  #1 (permalink)  
Antiguo 23/08/2012, 12:24
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
ordernar xml

Hola a todos.

Estoy queriendo ordenar un xml en base aun campo de la siguiente manera.

Código C#:
Ver original
  1. dsHistorico.ReadXml(Server.MapPath("../xml/miXml.xml"));
  2. dsHistorico.Tables[0].DefaultView.Sort = "orden desc";
  3. rpHistorico.DataSource = dsHistorico.Tables[0].DefaultView;
el xml tiene esta estructura.
Código XML:
Ver original
  1. <?xml version="1.0" standalone="yes"?>
  2. <datos>
  3.     <registro>
  4.         <orden>1</orden>
  5.     </registro>
  6.     <registro>
  7.         <orden>2</orden>
  8.     </registro>
  9.     <registro>
  10.         <orden>3</orden>
  11.     </registro>
  12. </datos>

el problema esta en que el valor del campo orden lo toma como cadena y temino con un ordenamiento parecido a esto:

1,10,2,3,4...

Alguien sabe como hacer para que el valor del nodo orden lo tome como numero y no como cadena?

Saludos.
  #2 (permalink)  
Antiguo 23/08/2012, 13:15
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: ordernar xml

Bueno podrias tratar de cambiar la columna de tu datatable por un type integer o en todo caso crear tu datatable desde 0 hasta el llenado manual de los datos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 23/08/2012, 16:57
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: ordernar xml

Podes usar linq
Código c#:
Ver original
  1. XDocument element = XDocument.Load(path);//cargas archivo xml
  2.  
  3. var query = from libro in element.Descendants("registro")
  4.                 orderby libro.Element("campo").Value
  5.                 select libro;
Cómo ordenar elementos

Ejemplo LINQ con XML
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #4 (permalink)  
Antiguo 23/08/2012, 17:10
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: ordernar xml

Cita:
Iniciado por cristiantorres Ver Mensaje
Podes usar linq
Código c#:
Ver original
  1. XDocument element = XDocument.Load(path);//cargas archivo xml
  2.  
  3. var query = from libro in element.Descendants("registro")
  4.                 orderby libro.Element("campo").Value
  5.                 select libro;
Cómo ordenar elementos

Ejemplo LINQ con XML
de todas maneras aunque use linq va a reconocer el campo como string y no lo va a ordenar como se debe
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: 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 12:23.