首先准备一个简单但是常见的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遍历。 (编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|