I am trying to merge two xml documents and don't want to keep the duplicates. Let me mention here that I am getting these two xml documents in a string variable. I am trying the following way but getting error. I tried with XmlDocument and XDocument but didn't succeed. Getting illegal character.
I have also tried with these solution but failed.
- combine two xml_docs C# xmlDocument
- How to merge two XmlDocuments in C#
- Smart merging of two XML files
- How can I merge XML files?
- How to merge two XmlDocuments in C#
- What is the fastest way to combine two xml files into one
Please help me on this.
public class Sample
{
public static void Main()
{
var xDoc1 = string.Concat("<?xml version='1.0' encoding='utf - 8'?>",
"<Tp>" +
"<Txn-Profile>" +
"<TXN_CODE>CHD</TXN_CODE>" +
"<NO_OF_TXN>5</NO_OF_TXN>" +
"<MAX_TXN_AMOUNT>70500</MAX_TXN_AMOUNT" +
"><TOTAL_AMOUNT>80500</TOTAL_AMOUNT>" +
"<TXN_DESCUI>Cash Deposit1</TXN_DESCUI>" +
"</Txn-Profile>" +
"</Tp>");
var doc1 = XDocument.Load(xDoc1);
var xDoc2 = string.Concat("<?xml version='1.0' encoding='utf - 8'?",
"<Tp>" +
"<Txn-Profile>" +
"<TXN_CODE>CHD</TXN_CODE>" +
"<NO_OF_TXN>5</NO_OF_TXN>" +
"<MAX_TXN_AMOUNT>90000</MAX_TXN_AMOUNT>" +
"<TOTAL_AMOUNT>210000</TOTAL_AMOUNT>" +
"<TXN_DESCUI>Cash Deposit1</TXN_DESCUI>" +
"</Txn-Profile>" +
"<Txn-Profile>" +
"<TXN_CODE>DCL</TXN_CODE>" +
"<NO_OF_TXN>5</NO_OF_TXN>" +
"<MAX_TXN_AMOUNT>50000</MAX_TXN_AMOUNT>" +
"<TOTAL_AMOUNT>200000</TOTAL_AMOUNT>" +
"<TXN_DESCUI>Deposit By Instruments (Clearing)</TXN_DESCUI>" +
"</Txn-Profile>" +
"</Tp>");
var doc2 = XDocument.Load(xDoc2);
var mergeXmlDocs = doc1.Descendants("Tp").Union(doc2.Descendants("Tp"));
Console.WriteLine(mergeXmlDocs.ToString());
Console.ReadLine();
}
}