站长网 Asp教程 asp.net Linq To Xml上手Descendants、Elements遍历节点

asp.net Linq To Xml上手Descendants、Elements遍历节点

首先准备一个简单但是常见的XML 复制代码 代码如下: ?xml version=”1.0″ encoding=”utf-8″ ? userSet userInfo profile phoneNumber13818181818/phoneNumber countryChina/country /profile /userInfo userInfo profile phoneNumber13919191919/phoneNumber

首先准备一个简单但是常见的XML

复制代码 代码如下:


<?xml version=”1.0″ encoding=”utf-8″ ?>
<userSet>
<userInfo>
<profile>
<phoneNumber>13818181818</phoneNumber>
<country>China</country>
</profile>
</userInfo>
<userInfo>
<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遍历。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/jc/asp/2021/0722/14146.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部