private static void MergeTwoXmlFile(string xmlFile1, string xmlFile2, string mergeFileNameLocation)
{
try
{
IList<string> duplicateNodes = new List<string>();
xmlFile1 = @"C:\Ashutosh\Automation\xml files\CellularCheck_BaseLine.xml";
xmlFile2 = @"C:\Ashutosh\Automation\xml files\CellularCheck_BaseLine_File.xml";
mergeFileNameLocation = @"C:\Users\asamantr\Source\Repos\ConsoleApp4\ConsoleApp4\Temp";
XmlDocument doc1 = new XmlDocument();
XmlDocument doc2 = new XmlDocument();
XElement rootFile1 = XElement.Load(xmlFile1);
XElement rootFile2 = XElement.Load(xmlFile2);
if (File.Exists("" + mergeFileNameLocation + "\\" + "Test_CellularCheck_BaseLine.xml"))
File.Delete("" + mergeFileNameLocation + "\\" + "Test_CellularCheck_BaseLine.xml");
if (!Directory.Exists(mergeFileNameLocation))
Directory.CreateDirectory(mergeFileNameLocation);
doc1.LoadXml(rootFile1.ToString());
doc2.LoadXml(rootFile2.ToString());
XmlNodeList list1 = doc1.GetElementsByTagName("root");
XmlNodeList list2 = doc2.GetElementsByTagName("root");
foreach (XmlNode node1 in list1)
{
foreach (XmlNode childNode1 in node1.ChildNodes)
{
foreach (XmlNode node2 in list2)
{
foreach (XmlNode childNode2 in node2.ChildNodes)
{
if (childNode1.Name == childNode2.Name)
{
duplicateNodes.Add(childNode1.Name);
}
}
}
}
}
for (int i = 0; i < duplicateNodes.Count(); i++)
rootFile2.Element(duplicateNodes[i]).Remove();
rootFile1.Add(rootFile2.Elements());
rootFile1.Save(@"C:\Users\asamantr\Source\Repos\ConsoleApp4\ConsoleApp4\Temp\Test_CellularCheck_BaseLine.xml");
}
catch (Exception ex)
{
//return false;
//throw;
}
}
{
try
{
IList<string> duplicateNodes = new List<string>();
xmlFile1 = @"C:\Ashutosh\Automation\xml files\CellularCheck_BaseLine.xml";
xmlFile2 = @"C:\Ashutosh\Automation\xml files\CellularCheck_BaseLine_File.xml";
mergeFileNameLocation = @"C:\Users\asamantr\Source\Repos\ConsoleApp4\ConsoleApp4\Temp";
XmlDocument doc1 = new XmlDocument();
XmlDocument doc2 = new XmlDocument();
XElement rootFile1 = XElement.Load(xmlFile1);
XElement rootFile2 = XElement.Load(xmlFile2);
if (File.Exists("" + mergeFileNameLocation + "\\" + "Test_CellularCheck_BaseLine.xml"))
File.Delete("" + mergeFileNameLocation + "\\" + "Test_CellularCheck_BaseLine.xml");
if (!Directory.Exists(mergeFileNameLocation))
Directory.CreateDirectory(mergeFileNameLocation);
doc1.LoadXml(rootFile1.ToString());
doc2.LoadXml(rootFile2.ToString());
XmlNodeList list1 = doc1.GetElementsByTagName("root");
XmlNodeList list2 = doc2.GetElementsByTagName("root");
foreach (XmlNode node1 in list1)
{
foreach (XmlNode childNode1 in node1.ChildNodes)
{
foreach (XmlNode node2 in list2)
{
foreach (XmlNode childNode2 in node2.ChildNodes)
{
if (childNode1.Name == childNode2.Name)
{
duplicateNodes.Add(childNode1.Name);
}
}
}
}
}
for (int i = 0; i < duplicateNodes.Count(); i++)
rootFile2.Element(duplicateNodes[i]).Remove();
rootFile1.Add(rootFile2.Elements());
rootFile1.Save(@"C:\Users\asamantr\Source\Repos\ConsoleApp4\ConsoleApp4\Temp\Test_CellularCheck_BaseLine.xml");
}
catch (Exception ex)
{
//return false;
//throw;
}
}
No comments:
Post a Comment