My first 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")) ));
My second:
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")) ));
I would like to find a delta (the source always contains the target) something like this ... sad, mine doesn't work:
XElement nodenotinsource = new XElement ("result", from y in sourceFile.Elements().Except(from o in targetFile.Elements()) select new XElement("ttt", y.Element("name").Value));
Version1 and Version2 were created as follows:
XElement Version1 = XElement.Load(@"C:\output\xmltestO.xml"); XElement Version2 = XElement.Load(@"C:\output\xmltestO.xml");
where both files are the same, except for the change that the program should find ...
comparison c # xml xelement
Asaf
source share