I am novice to C#, I am looking to compare XML files and get third output.
I have read its possible using 'xmldiff' class.
I could also find below, however I am not sure which C# project type should be used?
Kindly help me to understand which project type shall I select?
I tried with Class library but it gives me error at (XmlDiffOptions.IgnoreChildOrder | XmlDiffOptions.IgnoreNamespaces | XmlDiffOptions.IgnorePrefixes)
Also I dont see the below asking for file location to save.
private void CompareXml(string file1, string file2, string diffFileNameWithPath)
{
//file1 = "XMLDelta_A.xml";
//file2 = "XMLDelta_B.xml";
XmlReader reader1 = XmlReader.Create(@"\\msi-ws60-a0080\Parisa\wetransfer-6f37e5\XML\XMLDelta_A.xml");
XmlReader reader2 = XmlReader.Create(@"\\msi-ws60-a0080\Parisa\wetransfer-6f37e5\XML\XMLDelta_B.xml");
StringBuilder differenceStringBuilder = new StringBuilder();
using (FileStream fs = new FileStream(diffFileNameWithPath, FileMode.Create))
{
XmlWriter diffGramWriter = XmlWriter.Create(fs);
XmlDiff xmldiff = new XmlDiff(XmlDiffOptions.IgnoreChildOrder |
XmlDiffOptions.IgnoreNamespaces |
XmlDiffOptions.IgnorePrefixes);
bool bIdentical = xmldiff.Compare(file1, file2, false, diffGramWriter);
diffGramWriter.Close();
}
Now it says below
Severity Code Description Project File Line Suppression State Warning NU1701 Package 'XMLDiffPatch 1.0.8.28' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project.
Manage to resolve it some arguments were incorrect. Thanks for your help.I used below
XmlReader reader1 = XmlReader.Create(new StringReader(@"\msi-ws60-a0080\Parisa\wetransfer-6f37e5\XML\XMLDelta_A.xml")); XmlReader reader2 = XmlReader.Create(new StringReader(@"\msi-ws60-a0080\Parisa\wetransfer-6f37e5\XML\XMLDelta_B.xml"));
//StringBuilder differenceStringBuilder = new StringBuilder();
// using (FileStream fs = new FileStream(diffFileNameWithPath, FileMode.Create))
{
XmlWriter diffGramWriter = new XmlTextWriter("diffgram.xml", new System.Text.UnicodeEncoding());
//XmlWriter.Create(fs);
XmlDiff xmldiff = new XmlDiff(XmlDiffOptions.IgnoreChildOrder |
XmlDiffOptions.IgnoreNamespaces |
XmlDiffOptions.IgnorePrefixes);
bool bIdentical = xmldiff.Compare(textBox1.Text, textBox2.Text, false, diffGramWriter);
diffGramWriter.Flush();
diffGramWriter.Close();
//fs.Close();
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.