【发布时间】:2017-08-19 15:27:26
【问题描述】:
我尝试比较来自两个不同 XDocument 的元素,其中一些 XElement 在 Linq 中相互匹配,并且我还想尝试如何在 'srcTree' 中显示不在 'srcTree2' 中的元素。我之前尝试过使用 Linq 的“位置”,但不幸的是没有任何运气。
我的代码如下:
class LearnXML {
static void Main() {
XDocument srcTree = new XDocument(
new XComment("This is a comment"),
new XElement("Root",
new XElement("Child", "data1"),
new XElement("Child", "data2"),
new XElement("Child", "data3"),
new XElement("Child", "data4"),
new XElement("Info", "info5"),
new XElement("Info", "info6"),
new XElement("Info", "info7"),
new XElement("Info", "info8")
)
);
XDocument srcTree2 = new XDocument(
new XComment("This is a comment"),
new XElement("Root",
new XElement("Child", "data1"),
new XElement("Child", "data4"),
new XElement("Info", "info6"),
new XElement("Info", "info8")
)
);
Console.WriteLine(srcTree);
XDocument doc = new XDocument(
new XComment("This is a comment"),
new XElement("Root",
from el in srcTree2.Element("Root").Elements()
join rp in srcTree.Element("Root").Elements()
on !el.Element("Child").Value equals rp.Element("Child").Value
select el
)
);
Console.WriteLine(doc);
}
}
【问题讨论】:
标签: c# linq linq-to-xml