Principales respuestas
LINQ Nodos Repetidos

Pregunta
-
Buenas,
Tengo un problema.
Tengo un subnodo de un XML el cual me va a venir un subnodo que no tengo ni idea como se llama. Son totalmente aleatorios y ahi un numero ilimitado, por tanto mi idea es coger <valor> 1 y otro que coja el subnodo superior .name.
<Atributos> <C00003> --> 2 PASO COJER EL NOMBRE DE ESTE NODO <Valor>1</Valor> -- > 1 PASO SITUARSE AQUI </C00003> <C00008> <Valor>2</Valor> </C00008> <C00009> <Valor>2</Valor> </C00009> </Atributos>
Utilizo el linq así:
Key .atributos = (From e In a.Descendants("Atributos"). Select New With { Key .caracteristica = e.Element("").Value, _ Key .valor = e.Element("Valor").Value }).FirstOrDefault(), _
- Editado arseneonly viernes, 30 de septiembre de 2011 6:55
Respuestas
-
Hola de nuevo,
Esto me esta funcionando con LinqPad:
Sub Main dim str = "<Atributos>" & _ "<C00003>" & _ " <Valor>1</Valor>" & _ "</C00003>" & _ "<C00008>" & _ " <Valor>2</Valor>" & _ "</C00008>" & _ "<C00009>" & _ " <Valor>2</Valor>" & _ "</C00009>" & _ "</Atributos>" Dim doc As XDocument = XDocument.Parse(str) Dim items = (From e In doc.Elements("Atributos").Elements() _ Select New With { e.Name, e.Element("Valor").Value }).ToList For Each item In items Console.WriteLine(item) Next End Sub
Saludos,
JA Reyes.
Please remember to Vote & "Mark As Answer" if this post is helpful to you.
Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.- Propuesto como respuesta Pedro Hurtado viernes, 30 de septiembre de 2011 14:40
- Votado como útil arseneonly jueves, 20 de octubre de 2011 14:44
- Marcado como respuesta arseneonly jueves, 20 de octubre de 2011 14:44
Todas las respuestas
-
Hola,
Prueba con esto:
Key .caracteristica = e.Name
Saludos,JA Reyes.
Please remember to Vote & "Mark As Answer" if this post is helpful to you.
Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.- Propuesto como respuesta Pedro Hurtado viernes, 30 de septiembre de 2011 7:48
-
Creo que es imposible hacerlo, abandono la idea. Sorry.
- Marcado como respuesta arseneonly viernes, 30 de septiembre de 2011 8:44
- Desmarcado como respuesta arseneonly miércoles, 5 de octubre de 2011 9:42
-
Hola de nuevo,
Esto me esta funcionando con LinqPad:
Sub Main dim str = "<Atributos>" & _ "<C00003>" & _ " <Valor>1</Valor>" & _ "</C00003>" & _ "<C00008>" & _ " <Valor>2</Valor>" & _ "</C00008>" & _ "<C00009>" & _ " <Valor>2</Valor>" & _ "</C00009>" & _ "</Atributos>" Dim doc As XDocument = XDocument.Parse(str) Dim items = (From e In doc.Elements("Atributos").Elements() _ Select New With { e.Name, e.Element("Valor").Value }).ToList For Each item In items Console.WriteLine(item) Next End Sub
Saludos,
JA Reyes.
Please remember to Vote & "Mark As Answer" if this post is helpful to you.
Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.- Propuesto como respuesta Pedro Hurtado viernes, 30 de septiembre de 2011 14:40
- Votado como útil arseneonly jueves, 20 de octubre de 2011 14:44
- Marcado como respuesta arseneonly jueves, 20 de octubre de 2011 14:44
-
-
Hola arseneonly,
Pudiste probar la solución propuesta?
Saludos,
JA Reyes.
Please remember to Vote & "Mark As Answer" if this post is helpful to you.
Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.