Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 6th, 2012  |  syntax: None  |  size: 1.53 KB  |  hits: 7  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Linq to XML query works when returning single entity but needs to be of list<T>
  2. <foo>
  3.    <xxx>Some XXX</xxx>
  4.    <bar Attr1="true">Some Bar</bar>    
  5.    <bar Attr2="true">Some Bar #2</bar>
  6.    <bar>Some Bar #3</bar>
  7.    <bar>Some Bar #4</bar>
  8. </foo>
  9.        
  10. var foos = from query in xmlData.Descendants("foo")
  11.        from bars in query.Elements("bar")
  12.        select new FooClass
  13.        {
  14.     xxx = (string)query.Element("xxx"),
  15.     barCollection = new BarClass
  16.     {
  17.         display = bars.Value,
  18.         attr1Exists = (answers.Attribute("Attr1") != null ? true : false)
  19.         attr2Exists = (answers.Attribute("Attr2") != null ? true : false)
  20.         }
  21.        };
  22.        
  23. var foos = from query in xmlData.Descendants("foo")
  24. select new FooClass
  25. {
  26.     xxx = (string)query.Element("xxx"),
  27.     bar = query.Elements("bar").Select(x => x.Value).ToList()
  28. };
  29.        
  30. var foos = from query in xmlData.Descendants("foo")
  31. select new FooClass
  32. {
  33.     xxx = (string)query.Element("xxx"),
  34.     bar = query.Elements("bar").Select(x => new BarClass
  35.     {
  36.         display = x.Value,
  37.         attr1Exists = x("Attr1") != null ? true : false),
  38.         attr2Exists = x("Attr2") != null ? true : false)
  39.         }
  40.  
  41.     ).ToList()
  42. };
  43.        
  44. List<BarClass> mybars = Foo.Bars; // is this your aim?
  45.        
  46. var foos = from query in xmlData.Descendants("foo")      
  47.   select new FooClass
  48.   {          
  49.        xxx = (string)query.Element("xxx"),
  50.        Bars = query.Elements("bar").Select(x => new BarClass()
  51.           {
  52.              Attr1 = .. /// etc
  53.              Attr2 = ....
  54.           }).ToList();
  55.   }