什么';这个LINQ查询出错了
本文关键字:查询 出错 错了 LINQ 这个 什么 | 更新日期: 2023-09-27 18:16:42
我有以下XML
<School Version="30">
<Math>
<Lesson1 Type="Active">Introduction</Reset_mode>
<Lesson2 Type="Active">Fundamentals</Reset_mode>
</Math>
</School>
我想得到子元素lesson1,lesson2
我在XDocument 中加载XML
我不得不质疑-这个查询出了什么问题
var nodes = from C in document.Element("School").Elements()
where document.Element("School").Elements().Contains(t => t.Name == "Math")
select C ; //shortcutsXMLDocument.SelectNodes(Query);
并且它上升和错误。
我还可以将XPath与XDocument一起使用吗?
您正在寻找ShortcutList
元素:
Element("ShortcutList")
它不存在。
你应该写这篇文章来获得subLessons:
var items = document.Element("School").Element("Math").Elements();
foreach(var item in items)
{
DoSomething(item);
}
LINQ to XML:
from subject in XDocument.Load(xml).Element("School").Elemens()
where subject.Name == "Math"
select subject.Elements();
使用XmlDocument:的XPath
var doc = new XmlDocument();
doc.LoadXml(xml);
var nodes = doc.SelectNodes("School/Math/Lesson1 or School/Math/Lesson2");
document.Decendants("Math");
为您生成一个包含两个元素的IEnumable。它等于xpath//数学
Xpath大小写用于此命名空间System.Xml.XXPath.中的XElement/XDocument
这是您对路径的查询。。。
var nodes=来自文档中的C。XPathSelectElements("./Math"(选择C//shortcutsXMLDocument.SelectNodes(查询(;