c# - LINQ 排除带有 XElement 的查询

标签 c# asp.net

我有一个从服务收到的数据集。数据采用 XML 格式。我们得到一个包含所有数据的 XElement 对象。 XML 文档的结构非常简单。看起来像这样:

<root> 
 <dataPoint>
   <id>1</id>
   <param1>somedata</param1>
   <param2>somedata</param2>
 </dataPoint>
 <dataPoint>
   <id>2</id>
   <param1>somedata</param1>
   <param2>somedata</param2>
 </dataPoint>
</root>

当然,我有大量的数据点。我还有一个列表(List),其中数据点的 id 显示在 GUI 中。我想要的是不在 GUI 上显示的数据点,这样我只能操作这些数据点,而不是整个数据集。 谢谢

最佳答案

var toDisplay = new List<string>() { "2" };

var xDoc = XElement.Load(.....);
var dPoints = xDoc.Descendants("dataPoint")
                    .Where(d => !toDisplay.Contains(d.Element("id").Value));
var newXml = new XElement("root",dPoints).ToString();

关于c# - LINQ 排除带有 XElement 的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10489225/

相关文章:

c# - 使用模式方法调用的 Resharper 搜索

c# - 如何在C#中通过ID查找元素

asp.net - Objectdatasource和Gridview : Sorting, 分页、过滤

c# - 我怎样才能删除这个网格中多余的瓷砖?

c# - 如何在 C# 中将数组添加到 SQL 行?

c# - 提前访问 ASP.NET MVC 中的异步操作结果

javascript - 如何执行 javascript 代码来引发回发

javascript - jQuery为ajax请求返回 "parsererror"

c# - Angular 7 无法使用 c#.net core api 下载文件

c# - C#中的数组搜索抛出错误