检查C#中的两个XML文件是否相同?
发布时间:2020-12-15 08:43:43 所属栏目:百科 来源:网络整理
导读:如何检查C#中的两个 XML文件是否相同? 我想忽略XML文件中的注释. 解决方法 安装免费的 XMLDiffMerge package from NuGet.这个软件包本质上是微软 XML Diff and Patch GUI Tool的重新包装版本. 如果两个XML文件相同,则此函数返回true,忽略注释,空格和子顺序.
如何检查C#中的两个
XML文件是否相同?
我想忽略XML文件中的注释. 解决方法
安装免费的
XMLDiffMerge package from NuGet.这个软件包本质上是微软
XML Diff and Patch GUI Tool的重新包装版本.
如果两个XML文件相同,则此函数返回true,忽略注释,空格和子顺序.作为奖励,它还可以解决差异(参见函数中的内部变量差异). /// <summary> /// Compares two XML files to see if they are the same. /// </summary> /// <returns>Returns true if two XML files are functionally identical,ignoring comments,white space,and child /// order.</returns> public static bool XMLfilesIdentical(string originalFile,string finalFile) { var xmldiff = new XmlDiff(); var r1 = XmlReader.Create(new StringReader(originalFile)); var r2 = XmlReader.Create(new StringReader(finalFile)); var sw = new StringWriter(); var xw = new XmlTextWriter(sw) { Formatting = Formatting.Indented }; xmldiff.Options = XmlDiffOptions.IgnorePI | XmlDiffOptions.IgnoreChildOrder | XmlDiffOptions.IgnoreComments | XmlDiffOptions.IgnoreWhitespace; bool areIdentical = xmldiff.Compare(r1,r2,xw); string differences = sw.ToString(); return areIdentical; } 以下是我们如何调用该函数: string textLocal = File.ReadAllText(@"C:file1.xml"); string textRemote = File.ReadAllText(@"C:file2.xml"); if (XMLfilesIdentical(textLocal,textRemote) == true) { Console.WriteLine("XML files are functionally identical (ignoring comments).") } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |