c# - 使用 XML 中的某个节点过滤结果
问题描述
我有一个像下面这样的 xml
<Orders>
<Order>
<ABC>defe</ABC>
</Order>
<Order>
<ABC>asa</ABC>
<YYY>ee1@ee.com</YYY>
</Order>
<Order>
<ABC>tyty</ABC>
<YYY>ee1@ee.com</YYY>
</Order>
</Orders>
我想取出具有节点 YYY 的记录,就像在上面的情况下,查询应该返回两组顺序,其中包含 YYY 节点。第一条记录应该从过滤结果中排除。结果应该是
<Order>
<ABC>asa</ABC>
<YYY>ee1@ee.com</YYY>
</Order>
<Order>
<ABC>tyty</ABC>
<YYY>ee1@ee.com</YYY>
</Order>
请帮帮我。
解决方案
请参阅下面的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication116
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
XDocument doc = XDocument.Load(FILENAME);
List<XElement> orders = doc.Descendants("Order").Where(x => x.Element("YYY") != null).ToList();
}
}
}
推荐阅读
- python - 如何使用电子表格中的两个不同列制作按图分组的条形图?
- javascript - 在无限滑块轨道动画上使用 Element.prepend 的意外 DOM 排序行为
- r - R标记中的双标图由两个变量?
- sql - 如何检查一列中的数据在另一列中不存在
- android - 如何将 Google Barcode 添加到片段内的 android 应用程序?
- android - 在不同任务上运行 Activity 发出新意图的信号
- python-3.x - 如何计算 Keras 中二维阵列的地球移动器损失?
- excel - 如何在 Excel 中使用 Gnuplot 插件
- swift - GMSGroundOverlay.icon 的官方限制大小是多少?
- apache-spark - 是否有可能从 ADLS Gen2 中移动或删除了某些镶木地板文件而没有反映在日志中?