Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查C#中的两个XML文件是否相同?_C#_.net_Xml - Fatal编程技术网

检查C#中的两个XML文件是否相同?

检查C#中的两个XML文件是否相同?,c#,.net,xml,C#,.net,Xml,如何检查C#中的两个XML文件是否相同 我想忽略XML文件中的注释。安装免费的。此软件包本质上是Microsoft重新打包的版本 如果两个XML文件相同,则此函数返回true,忽略注释、空白和子顺序。作为奖励,它还可以计算出差异(请参见函数中的内部变量差异) /// <summary> /// Compares two XML files to see if they are the same. /// </summary> /// <returns>Retu

如何检查C#中的两个XML文件是否相同

我想忽略XML文件中的注释。

安装免费的。此软件包本质上是Microsoft重新打包的版本

如果两个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).")
}