Mega Code Archive

 
Categories / C# / XML LINQ
 

Returns a collection of the sibling nodes before this node, in document order

using System; using System.IO; using System.Xml; using System.Xml.Linq; using System.Collections; using System.Collections.Generic; using System.Linq; public class MainClass{    public static void Main(){         XElement xmlTree = new XElement("Root",             new XText("Text content."),             new XElement("A1", "A1 content"),             new XElement("A2", "A2 content"),             new XText("More text content."),             new XElement("A3", "A3 content")         );         XElement child = xmlTree.Element("A2");         IEnumerable<XNode> nodes =             from node in child.NodesBeforeSelf()             select node;         foreach (XNode node in nodes)             Console.WriteLine("Node type: {0}  {1}",                 node.NodeType,                 node.NodeType == XmlNodeType.Text ? (node as XText).Value : "");    } }