XML LINQ C#

using System;
using System.Linq;
using System.Xml;
using System.Xml.Linq;
using System.Collections;
using System.Collections.Generic;
public class MainClass
{
    public static void Main()
    {
        XElement po = XElement.Load("PurchaseOrder.xml", LoadOptions.SetBaseUri | LoadOptions.SetLineInfo);
        string[] splitUri = po.BaseUri.Split('/');
        Console.WriteLine("BaseUri: {0}", splitUri[splitUri.Length - 1]);
        foreach (XElement e in po.DescendantsAndSelf())
        {
            Console.WriteLine(e.Ancestors().Count());
            Console.WriteLine(e.Name);
            Console.WriteLine(((IXmlLineInfo)e).LineNumber);
            Console.WriteLine(((IXmlLineInfo)e).LinePosition);
        }
    }
}