C#Linq到XML查询

             

如何在tag == 1的标签下获取所有元素?

我的Linq查询。 (不起作用)为什么?

 XDocument xml= XDocument.Load(xml.xml); var elements = from e in xml.Descendants("Animals").Descendants("Tab").Elements("Dogs") where e.Attribute("id").toString().Equals("1") select c; 

你能检查一下吗?

谢谢!

 var result = xdoc.Descendants("World") .Descendants("Animals") .Descendants("Tab") .Elements("Dogs") .Where(n => n.Attribute("id").Value == "1"); 

输出:

      

或者使用XPath:

 xml.XPathSelectElements("/World/Animals/Tab/Dogs[@id=1]") 

要么

xml.XPathSelectElements("//Dogs[@id=1]")

无论发生在哪里都可以找到所有狗。

根据您认为您想要的样本数据

 //from e in xml.Descendants("Animals").Descendants("Tab").Elements("Dogs") from e in xml.Descendants("Animals").Elements("Tab").Descendants("Dogs") 

在同一行中,如果你想强制执行结构, Descendants("Animals")可能是Elements("Animals")

其余的查询看起来没问题。

  • WebApi将主体绑定到Json字典
  • 如何在不缓冲的情况下从WCF流式传输响应?
  • 什么是“object <object”的c#equiv?
  • 使用Winforms中的运行后台线程更新UI中的控件
  • 通过ServiceStack加密消息
  • ASP.NET Core RC2种子数据库
  • 参数超出EF中的db.SaveChanges()范围
  • 如何将此WPF控件添加到我的WinForm中?
  • Wix自定义操作设置值从CA到wix
  • 如何使用Azure Table Storage的单个查询检索多种类型的实体?
  • 407需要validation – 未发送任何挑战