/**/////檢索元素的值
XElement e = new XElement("StringElement", "abcd");
Console.WriteLine(e);
Console.WriteLine("Value of e:" + (string)e);
Console.WriteLine("Value of e by Value:"+e.Value);
Code
//檢索元素集合
XElement po = XElement.Load("PurchaseOrder.xml");
IEnumerable<XElement> childElements =
from el in po.Elements()
select el;
foreach (XElement el in childElements)
Console.WriteLine("Name: " + el.Name);
Code
////根據元素的名稱進行篩選
XElement po =XElement.Load("PurchaseOrder.xml");
IEnumerable<XElement> items =
from el in po.Descendants("ProductName")
select el;
foreach (XElement proName in items)
Console.Write("PrdName" + ":" + (string)proName);
Code
////根據元素的名稱進行篩選(有命名空間)
XNamespace aw = "http://www.adventure-works.com";
XElement po = XElement.Load("PurchaseOrderInNamespace.xml");
IEnumerable<XElement> items =
from el in po.Descendants(aw + "ProductName")
select el;
foreach (XElement prdName in items)
Console.WriteLine(prdName.Name + ":" + (string)prdName);
Code
////連結軸方法,有時,當可能存在或不存在間隔上級時,您希望在特定的元素深度,檢索所有的元素
XElement root = XElement.Load("Irregular.xml");
IEnumerable<XElement> configParameters =
root.Elements("Customer").Elements("Config").
Elements("ConfigParameter");
foreach (XElement cp in configParameters)
Console.WriteLine(cp.Value);
////檢索單個子項目
XElement po = XElement.Load("PurchaseOrder.xml");
XElement e = po.Element("DeliveryNotes");
Console.WriteLine(e);