由於XML文件是一群元素的集合,因此可以透過 LINQ 查詢 XML 文件內容,也就是XML to LINQ , 命名空間System.Xml.Linq當中的XML類別基本上是為了支援LINQ運算而發展出來的一組 XML API,XElement的Elements()方法回傳值是一種IEnumerable型別物件,Attributes方法其回傳的屬性集合物件亦是一種 IEnumerable<xattribute> 型別,這些物件均是IEnumerable型別,因此,能夠同時支援LINQ運算式的查詢作業。
除了將 LINQ 運算式直接運用於XML元素的查詢作業, XML to LINQ亦提供了相關的擴充方法,讓開發人員可以直接透過這些擴充方法使用LINQ技術。考慮以下的XML文件:
將這個文件載入,並且儲存於變數 xbook,利用以下的語法可以將其中的內容取出:
以下的雙重迴圈可以進一步取出其中的每本書中英文標題:
LINQ的物件查詢功能非常強大,一旦XML轉換成為IEnumerable <XElement>之後,除了逐一取出其中的元素,我們同樣能夠經由LINQ運算式,存取其中的特定元素,例如以下的 LINQ 敘述:
在這段語法中,select子句將每一個元素視為一筆資料,而其中的子元素則是這一筆資料的獨立欄位,因此,select子句的Title名稱將其中的Title元素萃取出來,最後列出所有的Title字串。
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:元素存取與轉換
除了將 LINQ 運算式直接運用於XML元素的查詢作業, XML to LINQ亦提供了相關的擴充方法,讓開發人員可以直接透過這些擴充方法使用LINQ技術。考慮以下的XML文件:
<Books xmlns="http://kangting.tw">
<Book>
<BookTitle Type="Chineses" xmlns="">HTML5完美風暴</BookTitle>
<BookTitle Type="English" xmlns="">Pro HTML5</BookTitle>
</Book>
<Book>
<BookTitle Type="Chineses" xmlns="">HTML5從零開始</BookTitle>
<BookTitle Type="English" xmlns="">Beginning HTML5</BookTitle>
</Book>
<Book>
<BookTitle Type="Chineses" xmlns="">現代網頁設計</BookTitle>
<BookTitle Type="English" xmlns="">Modern Web Design</BookTitle>
</Book>
</Books>
將這個文件載入,並且儲存於變數 xbook,利用以下的語法可以將其中的內容取出:
IEnumerable<XElement> books = xbook.Elements();
IEnumerable<XElement> rows = from row in books select row ;
以下的雙重迴圈可以進一步取出其中的每本書中英文標題:
foreach (XElement row in rows)
{
IEnumerable<XElement> ele =
from title in row.Elements()
select title;
foreach (XElement x in title)
{
// x 為元素內容 …
}
}
LINQ的物件查詢功能非常強大,一旦XML轉換成為IEnumerable <XElement>之後,除了逐一取出其中的元素,我們同樣能夠經由LINQ運算式,存取其中的特定元素,例如以下的 LINQ 敘述:
IEnumerable<XElement> rows =
from row in xEle. books()
select row.Element("Title");
在這段語法中,select子句將每一個
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:元素存取與轉換
沒有留言:
張貼留言