LINQ to XML:列舉XML元素

XElement 提供了一個 Nodes 方法如下:

public IEnumerable<XNode> Nodes()

當這個方法被執行,將回傳一個 XNode 型別的 IEnumerable 物件,此物件包含引用此方法的XElement物件中的所有子節點。我們可以將Nodes視為XML與IEnumerable型別的轉換工具,只是轉換之後,其中的節點以XNode型態,儲存於IEnumerable當中,也因此能夠透過LINQ語法對其中的特定元素進行存取。
考慮以下的程式片段:

XElement xEle= XElement.Load(fileName);
foreach(XNode v in xEle.Nodes())
{
// v.ToString()
}

於XElement的Nodes方法回傳的是一個XNode 型別的IEnumerable物件,因此利用迴圈即可逐一取出每一個XNode物件,將其所代表的元素轉換成為字串即可。
我們也可以進一步套用LINQ運算式於其中的元素查詢,例如以下的程式碼片段:

IEnumerable<XNode> enumXML = xEle.Nodes();
IEnumerable<XNode> enumXMLS = from xmlEle in enumXML
select xmlEle;
foreach (XNode v in enumXMLS)
{
// v.ToString()

}

其中利用 LINQ 語法取出所要萃取的內容。

LINQ to XML:XDocument & XElement 簡述 
LINQ to XML:關於 LINQ to XML 
LINQ to XML:XML命名空間與元素識別名稱 
LINQ to XML:XML內容元素 
LINQ to XML:XML文件載入與輸出 
LINQ to XML:載入 XML 內容 
LINQ to XML:輸出XML文件 
LINQ to XML:列舉XML元素 
LINQ to XML:存取特定XML元素 
LINQ to XML:新增XML元素 
LINQ to XML:元素屬性 
LINQ to XML:利用LIQN萃取XML文件內容元素 
LINQ to XML:元素存取與轉換 





沒有留言: