public static void Main()
Console.WriteLine("Ejemplo BaseUri\n");
OrdenCompra compra = new OrdenCompra();
XElement po = XElement.Load(@".\" + compra.Ocompra, LoadOptions.SetBaseUri | LoadOptions.SetLineInfo);
string[] splitUri = po.BaseUri.Split('/');
Console.WriteLine("BaseUri: {0}", splitUri[splitUri.Length-1]);
Console.WriteLine("{0}{1}{2}", "Element Name".PadRight(20), "Line".PadRight(5), "Position");
Console.WriteLine("{0}{1}{2}", "------------".PadRight(20), "----".PadRight(5), "--------");
foreach (XElement e in po.DescendantsAndSelf())
Console.WriteLine("{0}{1}{2}", ("".PadRight(e.Ancestors().Count() * 2) + e.Name).PadRight(20), ((IXmlLineInfo)e).LineNumber.ToString().PadRight(5), ((IXmlLineInfo)e).LinePosition);
private string ocompra = "PurchaseOrder.xml";
get{return this.ocompra;}
File.WriteAllText(@".\" + this.Ocompra ,@"<?xml version='1.0'?>
<PurchaseOrder PurchaseOrderNumber='99503' OrderDate='1999-10-20'>
<Address Type='Shipping'>
<Street>123 Maple Street</Street>
<Street>8 Oak Avenue</Street>
<DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>
<Item PartNumber='872-AA'>
<ProductName>Lawnmower</ProductName>
<USPrice>148.95</USPrice>
<Comment>Confirm this is electric</Comment>
<Item PartNumber='926-AA'>
<ProductName>Baby Monitor</ProductName>
<ShipDate>1999-05-21</ShipDate>