asp.net Linq To Xml上手Descendants、Elements遍歷節(jié)點
更新時間:2009年07月18日 13:48:08 作者:
C#3.0 Vs2008 RTM 本文介紹如何使用 Descendants、Elements快速遍歷XML節(jié)點
首先準(zhǔn)備一個簡單但是常見的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);
}
}
輸出結(jié)果為:
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);
}
}
輸出結(jié)果為:
Zhenglanzhen
注意:
Descendants 可遍歷某節(jié)點或文檔下的所有子節(jié)點
Elements 則是遍歷當(dāng)前節(jié)點或文檔下一級的子節(jié)點 (這點區(qū)別非常重要)
非常簡單的兩個 class 已基本上滿足普通的XML遍歷。
復(fù)制代碼 代碼如下:
<?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>
測試一:
復(fù)制代碼 代碼如下:
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);
}
}
輸出結(jié)果為:
Guozhijian
測試二
復(fù)制代碼 代碼如下:
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);
}
}
輸出結(jié)果為:
Zhenglanzhen
注意:
Descendants 可遍歷某節(jié)點或文檔下的所有子節(jié)點
Elements 則是遍歷當(dāng)前節(jié)點或文檔下一級的子節(jié)點 (這點區(qū)別非常重要)
非常簡單的兩個 class 已基本上滿足普通的XML遍歷。
相關(guān)文章
CommunityServer又稱CS論壇的相關(guān)學(xué)習(xí)資料
以前項目需要整合這個論壇,同事找了一些資料,現(xiàn)在放上來,并說下自己對這個論壇的看法。2009-05-05如何將數(shù)據(jù)綁到gridview然后導(dǎo)成excel
這篇文章主要介紹了如何將數(shù)據(jù)綁到gridview然后導(dǎo)成excel,需要的朋友可以參考下2014-02-02淺談ASP.NET MVC 防止跨站請求偽造(CSRF)攻擊的實現(xiàn)方法
下面小編就為大家分享一篇淺談ASP.NET MVC 防止跨站請求偽造(CSRF)攻擊的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01ASP.net(C#)從其他網(wǎng)站抓取內(nèi)容并截取有用信息的實現(xiàn)代碼
ASP.net(C#)從其他網(wǎng)站抓取內(nèi)容并截取有用信息的實現(xiàn)代碼,需要的朋友可以參考下。2011-09-09asp.net core2.2多用戶驗證與授權(quán)示例詳解
這篇文章主要給大家介紹了關(guān)于asp.net core2.2多用戶驗證與授權(quán)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01asp.net獲取SQL所有數(shù)據(jù)庫名、所有表名、所有字段名
asp.net獲取SQL所有數(shù)據(jù)庫名、所有表名、所有字段名...2007-03-03動態(tài)組合SQL語句方式實現(xiàn)批量更新的實例
動態(tài)組合SQL語句方式實現(xiàn)批量更新的實例,需要的朋友可以參考一下2013-03-03.net core 6.0 通過依賴注入注冊和使用上下文服務(wù)的教程
在.NET Core 6.0 中,獲取上下文的方式取決于您使用的技術(shù)棧和具體的應(yīng)用程序類型,這篇文章主要介紹了.net core 6.0 通過依賴注入注冊和使用上下文服務(wù)的教程,需要的朋友可以參考下2023-12-12asp.net調(diào)用系統(tǒng)設(shè)置字體文本框的方法
這篇文章主要介紹了asp.net調(diào)用系統(tǒng)設(shè)置字體文本框的方法,包括設(shè)置文本字體樣式和大小,需要的朋友可以參考下2014-09-09