Pregunta

Me he estado sintiendo como empezar a hacer algunas cosas divertidas con mis deliciosos marcadores y LINQ to XML, y me preguntaba si hay una manera de dividir el atributo de etiqueta en LINQ.

Lo que he decir con dividir la etiqueta dentro de LINQ estaba generando una colección de cadenas para cada elemento de correo, por lo que el resultado esperado sería una colección genérica de elementos post, con sus atributos como propiedades , donde la propiedad es en sí tag otra colección de cadenas, con sus elementos siendo cada etiqueta.

Para los que no muy familiarizados con XML exportado de delicious.com, tope aquí tienes la estructura básica de un elemento:

<post
    href="http://stackoverflow.com/"
    hash="e4a42d992025b928a586b8bdc36ad38d"
    description="Stack Overflow"
    tag="code development programming community tips answers reference"
    time="2009-05-22T19:44:09Z"
    extended="Stack Overflow is a programming Q & A site that's free."
    meta="e0bf85c9df073cd51cc5528637db5277"
 />

Este es el fragmento de código que estoy usando:

   XDocument delicious = XDocument.Load("all.xml");

  var bookmarks = from posts in delicious.Descendants().Attributes("tag")
                  select (string)posts;

Todas las ideas, sugerencias, comentarios sería muy apreciada.

¿Fue útil?

Solución

¿Cuál es el resultado que desea en realidad como? ¿Quieres una matriz de cada valor en el campo "etiqueta"?

var bookmarks = from posts in delicious.Descendants().Attributes("tag")
                    select ((string)posts).Split(" ");

Eso le daría una lista de matrices. Es difícil decir cómo lograr lo que quiere, ya que no es muy bien especificado.

Otros consejos

clase String tiene un método de Split.
Es esto lo que busca?

EDIT: string.join (Environment.NewLine, bookmarks.ToArray ());

Lo que hice fue utilizar 'set' y asignar el valor a esa variable, y luego se usa va a continuar para manipular, por lo que al final pude simplemente usarlo en mi consulta LINQ, como lo fue en una formulario que se ahora útil para mí. :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top