Мой первый XElement:
XElement sourceFile = new XElement("source",
from o in Version1.Element("folder").Elements("folders").ElementAt(0).Elements("folder")
where o.Name != null && o.Name == "folder"
select new XElement("data",
new XElement("name",(string) o.Attribute("name")),
new XElement("filesCount", (string)o.Attribute("folderCount")),
new XElement("filesCount", (string)o.Attribute("filesCount"))
));
//,o)
Мой второй:
XElement targetFile = new XElement("target",
from o in Version2.Element("folder").Elements("folders").ElementAt(0).Elements("folder")
where o.Name != null && o.Name == "folder"
select new XElement("data",
new XElement("name", (string)o.Attribute("name")),
new XElement("filesCount", (string)o.Attribute("folderCount")),
new XElement("filesCount", (string)o.Attribute("filesCount"))
));
Я бы хотел найти дельту (источник всегда содержит цель)
как то так ... к сожалению мой не работает:
XElement nodenotinsource = new XElement ("result",
from y in sourceFile.Elements().Except(from o in targetFile.Elements())
select new XElement("ttt", y.Element("name").Value));
Версия1 и Версия2 были созданы следующим образом:
XElement Version1 = XElement.Load(@"C:\output\xmltestO.xml");
XElement Version2 = XElement.Load(@"C:\output\xmltestO.xml");
, где два файла совпадают, за исключением изменений, которые должна найти программа ...