|
復制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8" ?>
<userSet>
<userInfo id="1" name="Guozhijian">
<profile>
<phoneNumber>13818181818</phoneNumber>
<country>China</country>
</profile>
</userInfo>
<userInfo id="2" name="Zhenglanzhen">
<profile>
<phoneNumber>13919191919</phoneNumber>
<country>Korea</country>
</profile>
</userInfo>
</userSet>
測試一:
復制代碼 代碼如下:
private void Test1()
{
XDocument xdoc = XDocument.Load(@"UserSet.xml");
var users = from u in xdoc.Descendants("userInfo")
where u.Attribute("id").Value == "1"
select u;
foreach (var u in users)
{
string name = u.Attribute("name").Value;
Console.WriteLine(name);
}
}
輸出結果為:
Guozhijian
測試二
復制代碼 代碼如下:
private void Test2()
{
XDocument xdoc = XDocument.Load(@"UserSet.xml");
var users = from u in xdoc.Root.Elements("userInfo")
where u.Element("profile").Element("phoneNumber").Value == "13919191919"
select u;
foreach (var u in users)
{
string name = u.Attribute("name").Value;
Console.WriteLine(name);
}
}
輸出結果為:
Zhenglanzhen
注意:
Descendants 可遍歷某節點或文檔下的所有子節點
Elements 則是遍歷當前節點或文檔下一級的子節點 (這點區別非常重要)
非常簡單的兩個 class 已基本上滿足普通的XML遍歷。
AspNet技術:asp.net Linq To Xml上手Descendants、Elements遍歷節點,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。