我的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>
请帮帮我。
答案 0 :(得分:1)
请参见下面的代码:
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();
}
}
}