程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net Linq To Xml上手Descendants、Elements遍歷節點

asp.net Linq To Xml上手Descendants、Elements遍歷節點

編輯:ASP.NET基礎
首先准備一個簡單但是常見的XML
復制代碼 代碼如下:
<?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遍歷。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved