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); } }
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é)點(diǎn)或文檔下的所有子節(jié)點(diǎn) Elements 則是遍歷當(dāng)前節(jié)點(diǎn)或文檔下一級(jí)的子節(jié)點(diǎn) (這點(diǎn)區(qū)別非常重要) 非常簡(jiǎn)單的兩個(gè) class 已基本上滿足普通的XML遍歷。