LINQ to read XML (C#)
        Posted  
        
            by aximili
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by aximili
        
        
        
        Published on 2009-03-22T04:48:24Z
        Indexed on 
            2010/05/11
            7:14 UTC
        
        
        Read the original article
        Hit count: 640
        
I got this XML file
<root>
	<level1 name="A">
		<level2 name="A1" />
		<level2 name="A2" />
	</level1>
	<level1 name="B">
		<level2 name="B1" />
		<level2 name="B2" />
	</level1>
	<level1 name="C" />
</root>
Could someone give me a C# code using LINQ, the simplest way to print this result:
(Note the extra space if it is a level2 node)
A
  A1
  A2
B
  B1
  B2
C
Currently I got this code
XDocument xdoc = XDocument.Load("data.xml"));
var lv1s = from lv1 in xdoc.Descendants("level1")
		   select lv1.Attribute("name").Value;
foreach (var lv1 in lv1s)
{
	result.AppendLine(lv1);
	var lv2s = from lv2 in xdoc...???
}
Thank you!
© Stack Overflow or respective owner