這節將學習如何用 linq查詢xml
一、我們先看看在xml中我們怎麼操作
public void xmlwaytoqueryxmlfile()
這是在using system.xml條件下查詢xml中id=100的node下所有的innertext
關於在xml中查詢方法,這裡講的比較詳細
二、我們看看用linq又怎麼操作
函式一: elements()返回xml文件或片段中的所有第一級元素。對於有效的xml文件,例如,剛才創
建的northwindcustomerorders.xml檔案,只有乙個第一級元素,即根元素customers
public void queryxml()}
當時如果把select item.name 改為select.value 則顯示的是所有innertext,如果改為select item ,那麼顯示是所有xml文件
函式二:descendants()返回xml文件或片段中的所有子元素(所有級別的子元素)
publicvoid queryxmlbydescendants()
}
注意:select item.value時,如果xml像上面右側那樣 顯示的結果是1gougou23 1 gougou 23 (應該是先顯示custom級的value,把下面的子節點value全部顯示出來,再迴圈到下面的子節點,顯示單個子節點的value)
當然可以加distict 除掉重複的值
foreach (var i in result.distinct())
這樣就可以顯示所有id的值
var result = from item in xdoc.descendants("id")函式三 attributes(),它返回當前選中元素的所有特性select item.value; //顯示所有子元素的值
對於行如這樣的xml
<custom
sequence
="1"
boolchange
="false">
<
id>0
id>
<
name
>nihao
name
>
<
age>112
age>
custom
>
public void queryxmlbyattributes()}
上面**顯示的是:sequence
="1"boolchange
="false"
如果把 select item改為select item.name 則輸出:sequence boolchange
如果該為select item.value 則輸出1 false
總結:xml的操作方法有多種,不僅可以用xml 本身提供的api,還可以用linq to xml ,各有各的好處,相比二樣linq更方便
在使用之前,記得要新增:
using system.linq;using system.xml.linq
using system.xml;
C 學習 LINQ 查詢
在c 中使用linq查詢需要引入命名空間using system.linq 案例實操 資料準備 var roles newlist gamerole newgamerole newgamerole newgamerole newgamerole newgamerole newgamerole var...
LINQ 之 基本 LINQ 查詢操作
在 linq 查詢中,第一步是指定資料來源。像在大多數程式語言中一樣,必須先宣告變數,才能使用它。在 linq 查詢中,最先使用from子句的目的是引入資料來源和範圍變數。queryallcustomers 是 ienumerable型別 資料來源 customers 和範圍變數 cust var ...
LINQ 查詢彙總
子查詢 描述 查詢訂單數超過5的顧客資訊 查詢句法 var子查詢 from c in ctx.customers where from o in ctx.orders group o by o.customerid into o whereo.count 5 select o.key contain...