Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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#_Xml - Fatal编程技术网

C# 比较两个xml文件并突出显示差异

C# 比较两个xml文件并突出显示差异,c#,xml,C#,Xml,我需要一些帮助来解决一些问题。 我有两个xml文件,它们几乎相同,我需要找到更改的内容,这意味着,我需要逐行比较它们,我需要使用c突出显示Visual Studio中的更改# 我看过这些工具,但我想知道我是否可以使用代码来完成它。 我是新手,所以我需要一点指导 我的xml文件类似于: <?xml version="1.0" encoding="utf-8" ?> <Employees> <Employee ID="1" Name="JayT" JoinD

我需要一些帮助来解决一些问题。 我有两个xml文件,它们几乎相同,我需要找到更改的内容,这意味着,我需要逐行比较它们,我需要使用c突出显示Visual Studio中的更改#

我看过这些工具,但我想知道我是否可以使用代码来完成它。 我是新手,所以我需要一点指导

我的xml文件类似于:

    <?xml version="1.0" encoding="utf-8" ?>
<Employees>
  <Employee ID="1" Name="JayT" JoinDate="3/1/2009">
    <Projects>
      <Project ID="1" Name="Project1" StartDate="2/1/2009" EndDate="4/1/2009" />
      <Project ID="2" Name="Project2" StartDate="3/5/2009" EndDate="4/1/2010" />
    </Projects>
  </Employee>
  <Employee ID="2" Name="Kim" JoinDate="4/1/2009">
    <Projects>
      <Project ID="3" Name="Project3" StartDate="5/1/2009" EndDate="10/1/2009" />
      <Project ID="2" Name="Project2" StartDate="3/5/2009" EndDate="4/1/2010" />
      <Project ID="6" Name="Project6" StartDate="3/5/2009" EndDate="4/1/2010" />
    </Projects>
  </Employee>
  <Employee ID="3" Name="Tom" JoinDate="6/1/2009">
    <Projects>
    </Projects>
  </Employee>
</Employees> 

File2 Data: Modified File (Referred to as "B XML" in the document) 

<?xml version="1.0" encoding="utf-8" ?>
<Employees>
  <Employee ID="1" Name="JayT" JoinDate="3/1/2009">
    <Projects>
      <Project ID="6" Name="Project6" StartDate="5/1/2009" EndDate="11/1/2009" />
    </Projects>   
  </Employee>
  <Employee ID="3" Name="Tom" JoinDate="6/1/2009">
    <Projects>
      <Project ID="5" Name="Project5" StartDate="7/1/2009" EndDate="12/1/2009" />
    </Projects>   
  </Employee> 
</Employees>

File2数据:修改后的文件(在文档中称为“B XML”)

例如上面的代码,我需要突出显示更改、添加或删除的行。您可以使用XMLDocument类加载这两个文件,然后使用字符串比较比较每个节点的值和属性,并可能将更改保存在第三个XMLDocument中。

您能举一个两个“几乎相同”的xml文件的例子吗。比较的预期输出应该是什么?它们几乎相同,即一个按钮的标签为“红色”,而同一按钮的另一个文件的标签为“蓝色”,因此文件是相同的,只是一些属性发生了变化。我想用c#A diff app突出显示更改行,这里的答案似乎是-我使用winmerge,但还有其他的-IDE,如VisualStudio,都包含了这些更改行。问题是我需要c#代码,因为我需要在另一个软件中实现它们。我会有一个类,带有一个函数,两个变量是两个xml文件,一行一行地比较它们。xml在另一个软件中用于构建接口,我需要实现c#代码来查找差异并在图形部分突出显示它们