Xml File 1-
<?xml version="1.0" encoding="utf-8"?>
<Employees>
<Employee Id="1">
<FirstName>Aa</FirstName>
<LastName>PDC1</LastName>
<Salary>
<subsal>1</subsal>
</Salary>
</Employee>
<Employee Id="2">
<FirstName>Bb</FirstName>
<LastName>PDC2A</LastName>
<Salary>
<subsal>2</subsal>
</Salary>
</Employee>
<Employee Id="3">
<FirstName>Cc</FirstName>
<LastName>PDC2B</LastName>
<Salary>
<subsal>3</subsal>
</Salary>
</Employee>
</Employees>
XML file 2-:
<?xml version="1.0" encoding="utf-8"?>
<Employees>
<Employee Id="1">
<FirstName>AaA</FirstName>
<LastName>PDC1</LastName>
<Salary>
<subsal>4</subsal>
</Salary>
</Employee>
<Employee Id="2">
<FirstName>BbB</FirstName>
<LastName>PDC2A</LastName>
<Salary>
<subsal>5</subsal>
</Salary>
</Employee>
</Employees>
I have to merge these Files into one and I used the following code-:
using System;
using System.Xml;
using System.IO;
using System.Data;
namespace merge_xml
{
class Program
{
static void Main(string[] args)
{
try
{
XmlTextReader xmlreader1 = new XmlTextReader("C:\\Users\\saket.parasar.jha\\s.xml");
XmlTextReader xmlreader2 = new XmlTextReader("C:\\Users\\saket.parasar.jha\\s1.xml");
DataSet ds = new DataSet();
ds.ReadXml(xmlreader1);
DataSet ds2 = new DataSet();
ds2.ReadXml(xmlreader2);
ds.Merge(ds2);
Console.WriteLine("Completed merging XML documents");
ds.WriteXml("C:\\Users\\saket.parasar.jha\\sneww.xml");
////XmlDocument doc = new XmlDocument();
////doc.Load(("C:\\Users\\saket.parasar.jha\\sneww.xml"));
////XmlNodeList nodes = doc.SelectNodes("//product/id");
//////int nNodeID = nodes.Count;
////nNodeID++;
}
catch (System.Exception ex)
{
Console.Write(ex.Message);
}
Console.Read();
}
}
}
output I am getting is-:
<?xml version="1.0" standalone="yes"?>
<Employees>
<Employee Id="1">
<FirstName>AaA</FirstName>
<LastName>PDC1</LastName>
<Salary>
<subsal>1</subsal>
</Salary>
<Salary>
<subsal>4</subsal>
</Salary>
</Employee>
<Employee Id="2">
<FirstName>BbB</FirstName>
<LastName>PDC2A</LastName>
<Salary>
<subsal>2</subsal>
</Salary>
<Salary>
<subsal>5</subsal>
</Salary>
</Employee>
<Employee Id="3">
<FirstName>Cc</FirstName>
<LastName>PDC2B</LastName>
<Salary>
<subsal>3</subsal>
</Salary>
</Employee>
</Employees>
Also the required output should be-:
<?xml version="1.0" encoding="utf-8"?>
<Employees>
<Employee Id="1">
<FirstName>Aa</FirstName>
<LastName>PDC1</LastName>
<Salary>
<subsal>1</subsal>
</Salary>
</Employee>
<Employee Id="2">
<FirstName>Bb</FirstName>
<LastName>PDC2A</LastName>
<Salary>
<subsal>2</subsal>
</Salary>
</Employee>
<Employee Id="3">
<FirstName>Cc</FirstName>
<LastName>PDC2B</LastName>
<Salary>
<subsal>3</subsal>
</Salary>
</Employee>
<Employees>
<Employee Id="4">
<FirstName>AaA</FirstName>
<LastName>PDC1</LastName>
<Salary>
<subsal>4</subsal>
</Salary>
</Employee>
<Employee Id="5">
<FirstName>BbB</FirstName>
<LastName>PDC2A</LastName>
<Salary>
<subsal>6</subsal>
</Salary>
</Employee>
</Employees>
</Employees>
Should I try some other merging methods, if possible please suggest some code..
Modify XML file 2-:
file like this:
<?xml version="1.0" encoding="utf-8"?>
<Employees>
<Employee Id="4">
<FirstName>AaA</FirstName>
<LastName>PDC1</LastName>
<Salary>
<subsal>4</subsal>
</Salary>
</Employee>
<Employee Id="5">
<FirstName>BbB</FirstName>
<LastName>PDC2A</LastName>
<Salary>
<subsal>5</subsal>
</Salary>
</Employee>
</Employees>
Change the Employee Id
, you will get what you want.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.